Mysql-tietokantaan kirjoittaminen

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 ---------------------
71008
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

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...

Äänestä
  • 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...

    Äänestä

  • 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ä.

    Äänestä

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


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

Äänestä

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.

Äänestä
  • 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.

    Äänestä

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!!

Äänestä

Kommentoi aloitusta


hermot kirjoitti:

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 ---------------------

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu