| Autor | Zpráva | ||
|---|---|---|---|
| Micho87 Profil |
#1 · Zasláno: 4. 5. 2005, 15:27:50
Mam takyto kód:
. . . <form action="index.php" method="POST"> Meno: <input type="text" NAME="meno"> <br> Odkaz: <textarea type="text" name="meno" rows="5" cols="30"></textarea> <br> <input type="SUBMIT" VALUE="odoslat"> </form> <HR> <?php $dat = "insert into kniha (meno, odkaz) values ('$_POST[meno]','$_POST[meno]')"; $db_dat = mysql_query($dat, $link); $vyb = "select * from kniha"; $db_vyb = mysql_query($vyb, $link); while ($vyber = mysql_fetch_array($db_vyb)) { echo "Meno: $vyber[meno]<br> Odkaz: $vyber[odkaz]<br><hr><br>"; } mysql_close (); ?> - aj mi to funguje ale ma to take blbe muchy ktore nemozem nejako vychytat. 1, ked sa 1. nacita napise mi to: Notice: Undefined index: meno in c:\inetpub\wwwroot\index.php on line 22 Notice: Undefined index: text in c:\inetpub\wwwroot\index.php on line 22 2, a ta druha je ze sa mi zobrazuju od najstarsieho - ako by som to mohol upravit, Diky |
||
| roberta Profil |
#2 · Zasláno: 4. 5. 2005, 15:40:06
Meno: <input type="text" NAME="meno"> <br>
Odkaz: <textarea type="text" name="meno" rows="5" cols="30"></textarea> <br> 1. intput a textarea musia mať rôzne NAME (nemôžu sa oba volať "meno") - potom si to nezabudnite premenovať aj v $dat = "insert into kniha (meno, odkaz) values ('$_POST[meno]','$_POST[meno]')"; 2. do tabulky kniha si pridajte nové pole "id", ktoré bude typu automatické číslo a potom dotaz "select * from kniha" zmeňte na "select * from kniha order by id desc" |
||
| Micho87 Profil |
#3 · Zasláno: 4. 5. 2005, 15:55:47
za tu 2, dik - to sa mi nedarilo
v tej 1, to bol preklep v zaloznom to mam dobre, ale aj tak mi to vypisuje Notice: Undefined index: meno in c:\inetpub\wwwroot\index.php on line 24 Notice: Undefined index: text in c:\inetpub\wwwroot\index.php on line 24 Raz ked som sa pytal na takyto vipis tak mi poradil toto: if(!empty($_POST["xxx"])) { echo $_POST["xxx"]; } Ale ako to mam dostat do, keby som to tam nejako mal tak by to nerobilo. $dat = "insert into kniha (meno, odkaz) values ('$_POST[meno]','$_POST[text]')"; |
||
| roberta Profil |
#4 · Zasláno: 4. 5. 2005, 16:35:15
asi tam máte syntaktickú chybu...
$dat = "insert into kniha (meno, odkaz) values ('$_POST[meno]','$_POST[text]')"; prepíšte na $dat = "insert into kniha (meno, odkaz) values ('".$_POST["meno"]."','".$_POST["text"]."')"; |
||
| krteczek Profil |
#5 · Zasláno: 5. 5. 2005, 04:50:51
jen pro upřesnění a větší bezpečnost skriptů:
Používejte dva druhy proměnných: 1)Veřejné: jsou to proměnné které vznikají například ve formulářích, a předávají se metodou POST, GET, jsou prostě viditelné když si zobrazíte kód stránky. 2)Vnitřní: to jsou proměnné které na začátku skriptu deklarujeme, a nulujeme a posléze jim ve skriptu předáme hodnoty ze $_POST. $_GET,$_REQUEST. Tyto proměné by měli mít jiný název než veřejn, kvůli podstrčení nepovolených hodnot a čtení skriptů hackery. skriptík té knihy by mohl vypadat nějak takhle:
Snad jsem tam nenasekal příliš mnoho chyb, ale jde v podstatě o ukázku kodu jak by to snad mělo být dobře. Rád bych ještě četl názor skušenějších jo a $link jsem nedefinoval krteczek |
||
|
Časová prodleva: 20 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0