Mysql-tietokantaan kirjoittaminen

hermot

Kun ei meinaa onnistua millään! Ajatus on jo ihan solmussa, eikä ratkaisua tule mieleen vaikka päälään seisoisi. Voisko joku php-guru tarkastaa koodin?

Olen vasta itseopiskeluna tutustumassa php:n ihmeelliseen maailmaan. Tämä on vain yksi harjoite mitä koetan väsätä.

----------------- lisäyslomakesivu ---------------




artisti:
levy:
hinta:
varastossa:










-------------- sivu, jonka pitäisi --------------
------ lisätä lomakkeelle kirjoituettu data ------
----------------- lisays.php ---------------------

7

1001

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • JeeJee

      En tiedä mikä tuon $localhost muuttujan sisältö on mutta yhteyteen tarvii seuraavat:

      $link = mysql_connect("localhost", "user", "password")or die(mysql_error());

      Tietokanta valitaan näin:

      $db = mysql_select_db("levyt", $link);

      Eli ainakin tuo viimeinen alaviiva ennen db:tä puuttui...

      $artisti=$_POST['i_nimi'];

      Tähän et tarvitse tuota '$_POST...', vaan
      $artisti=$i_nimi;

      ja lopuksi

      $result = mysql_query ("INSERT INTO pop_rock (artisti, levy, hinta, varastossa) VALUES ('$artisti', '$levy', '$hinta', '$varastossa')") or die("Kyselyssä tapahtui virhe.: " . mysql_error());

      Toivottavasti auttoi...

      • Hermot

        eihän tämä toimi vieläkään sen paremmin. Elikkä tietokannan pop_rock-tauluun kyllä tulee "tyhjä" tuote, mutta ei niitä arvoja, jotka syötetään lomakkeelta.

        Nyt näyttäis olevan jotain hässäkkää lomakkeelta tulevien tietojen tallennuksessa.

        $artisti=$_POST['i_nimi'];

        Tähän et tarvitse tuota '$_POST...', vaan
        $artisti=$i_nimi;

        Tuo $_POST pitää ilmeisesti olla, koska kun poistin sen tuli virheilmoitus.

        $localhost toimii kyllä, koska mysql:ssä ei ole salasanaa tai käyttäjää ellei niitä aseta. Joten localhostilla vaan sisään. =)

        Minä olen jo ihan pihalla...


      • globals
        Hermot kirjoitti:

        eihän tämä toimi vieläkään sen paremmin. Elikkä tietokannan pop_rock-tauluun kyllä tulee "tyhjä" tuote, mutta ei niitä arvoja, jotka syötetään lomakkeelta.

        Nyt näyttäis olevan jotain hässäkkää lomakkeelta tulevien tietojen tallennuksessa.

        $artisti=$_POST['i_nimi'];

        Tähän et tarvitse tuota '$_POST...', vaan
        $artisti=$i_nimi;

        Tuo $_POST pitää ilmeisesti olla, koska kun poistin sen tuli virheilmoitus.

        $localhost toimii kyllä, koska mysql:ssä ei ole salasanaa tai käyttäjää ellei niitä aseta. Joten localhostilla vaan sisään. =)

        Minä olen jo ihan pihalla...

        Kannattaa kuitenkin käyttää $_POST ja $_GET -muuttujia, koska niillä voi paikata joitain turva-aukkoja (ilmeisesti olet tekemässä jotain verkkokauppaa tms., jolloin tietoturva on mutuenkin tärkeämpi). Eli POST-muuttujathan tulee lomakkeesta (jos method=post) ja GET-muuttujat taas suoraan osoiteriviltä.


    • Buzz

      vaihda ainakin $artisti=$_POST['i_nimi']; --> $artisti=$_POST['i_artisti'];


      mysql_connect($localhost); pitäisi toimia sellaisenaan ilman käyttäjätunnusta ja salasanaa

    • php&Sql

      kannattaa ennen tietokantaan tallentamista siivota lisättävät tiedot mm. poistaa tagit yms. sillä nämä voivat olla mysql paha paikka :)ja voisi periaatteessa mahdolllistaa tietokantaan tallennettavan skriptin ajamisen. Lisäksi kannattaa siivoamisen jälkeen tarkastaa onko tiedot jo ennen lisätty tietokantaan. ettei käyttäjä vahingossa/tahallaan painele lähetä nappulaa.

      • Hermot

        tässähän siis on vain lyse siitä, että yritän opetella php ja mysql-ojelmointia. Ongelmaksi on muodostunut tietokantaan kirjoittaminen.

        Mitä tarkoitat siivoamisella? Olisi ihan kiva jos annettaisiin ihan konkreettisia ohjeita eikä mitään epämääräisiä tee noin älä noin.


    • Hermot

      Pari unetonta yötä tekee ihmeitä!!

      eli käyttämäni php-on hieman vanhempi (4.0.6) joten se $_POST piti korvata $HTTP_POST_VARS:lla.

      Nyt se sitten rokkaa!!

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Vasemmistohallitus palauttaa hintasääntelyn, esim. bensalitra vain 1e.

      Tuleva vasemmistolaisista koostuva hallitus ottaa käyttöön vanhat hyvät keinot pitää hinnat kurissa. Tähän tarkoitukse
      Maailman menoa
      96
      4764
    2. Vasemmistolainen valehteli jälleen - Purra tai persut eivät luvanneet "euron bensaa"

      Väite "euron bensasta" on ensisijaisesti poliittisten vastustajien käyttämä puhdas vale. Persut kyllä kampanjoivat näky
      Maailman menoa
      113
      3912
    3. Arman Alizadin viesti puna-aktivisteille: "Pitäkää lärvinne nytkin kiinni"

      Arman Alizad kritisoi vasemmiston kaksinaismoralismia. Iranissa syntynyt suosikkijuontaja Arman Alizad pakeni perheensä
      Maailman menoa
      208
      3804
    4. Minja Koskela nostanut vasemmistoliiton kannatuksen ennätykseen

      Koskela valittiin puolueen johtoon lokakuussa 2024, ja silloin Ylen kysely antoi puolueelle 9,3 prosentin kannatuksen.
      Maailman menoa
      104
      2210
    5. Antti johtaa Petteriä jo 7,1 prosenttiyksiköllä

      Tällä menolla sdp menee kokoomuksesta kierroksella ohi jo tällä vaalikaudella. https://yle.fi/a/74-20213575
      Maailman menoa
      77
      1964
    6. Mitä on tullut

      Entisen abcn rakennuksen tilalle se oli tyhjillään monta vuotta siellä oli jo nyt valot onko huoltoasema? 5:30.
      Haapavesi
      80
      1336
    7. Harmi nainen kun

      olet niin elähtäneen näköinen. Miestä et koskaan löydä itelles. j
      Ikävä
      132
      1248
    8. Palosta selvinnyt 18 vuotias munira tarvitsi tulkin kun puhui Iltalehdelle

      Suomessa asuva 18 vuotias tarvii tulkin !!! Tää Suomea puhumaton on palossa kuolleen naisen veli ja asui perheen kanssa.
      Vantaa
      162
      1236
    9. Minne pyydän sut?

      Jotta saan nähdä 🤨
      Ikävä
      53
      1105
    10. En ymmärrä ateisteja!

      Raamattu on aitoa historiaa, jotka ovat kirjoittaneet aikalaiset! Mitä änkyröitte turhaa???
      Ateismi
      485
      1038
    Aihe