Mitenkäs se oikein onnistuu perus html-formiin tiedonhaku MySQL-tietokannasta. Eli vaikkapa formin kenttään "Nimi" haetaan tietokannasta Nimi, taulusta Asiakas kun formi aukeaa. PHP:llä olisi tarkoitus toteuttaa tämä.
Osaan jo viedä formin kenttien tiedot kantaan, mutta en oikein ymmärrä mitenkä se toiseen suuntaan toimisi. _$POST-taululla olen ottanut php tiedostossa aina vastaan formin kenttien arvot.
https://www.ohjelmointiputka.net/oppaat/opas.
Tuolta löytyy tietojen haku ja kenttään saat arvon laittamalla halutun arvon valueksi.
$nimi = mysql_result($query,0,'nimi');
echo "<input type='text' name='nimi' value='$nimi'>";
Hmm... Eli pitääkö tässä periaatteessa koko lomake tulostaa echo-lauseella? Hirmuisen pitkä lause tulee kun on paljon kenttiä formissa.
Ei tietenkään. Voit käyttää php:tä ja html:ää sekaisin, kunhan muistat tallentaa sivun sitten .php -muotoon.
Esim:
<form>
<input type="text" name="kentta1">
<? echo "<input type='text' name='kentta2'>"; ?>
<input type="submit" value="OK">
</form>
Ahaa... :)
Mielenkiintoista. Ei tullut mieleenkään kun niin vähän tullut näplättyä php:n kanssa.
Lisäkysymys:
Entäpä kun on .php -tiedosto ja haluan sen lähettävän omia muuttujiaan toiselle .php -tiedostolle.
header( 'Location: seuraava.php' ) ;
Pystyisikö tuohon vaikka laittaa method="post" kuten formeilla?
Ohjelmointiputkan opas on perehtymisen arvoinen php:ta aloitellessa. Kuten myös Mureakuhan: http://wiki.mureakuha.com/wiki/PHP-opas
..ja sitten itse raamattu: https://www.php.net/ ;)
Hoover kirjoitti:
Entäpä kun on .php -tiedosto ja haluan sen lähettävän omia muuttujiaan toiselle .php -tiedostolle.
Jos include()tat PHP-tiedoston, se näkee suoraan tämän sisällyttävän skriptin muuttujat.
HTTP-headerissa voi antaa GET-parametreja, mutta se nyt ei, ainakaan isommilla datamäärillä, oo kovin käytännöllistä.
header('Location: http://localhost/seuraava.php?eka=hassu&toka=hassumpi');
Speksin mukaan Location-headerissa muuten pitäis aina olla täydellinen (absoluuttinen) URL: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30
Paras tapa lienee käyttää sessioita. Niistä lisää esim. tuolta: https://www.ohjelmointiputka.net/oppaat/opas.
Aihe on jo aika vanha, joten et voi enää vastata siihen.