Autor | Zpráva | ||
---|---|---|---|
Darja Profil |
#1 · Zasláno: 12. 9. 2010, 16:09:40
Zdravím,
nevím, co dělám špatně, jednou mi to fungovalo, podruhé už ne... Možná jsem tam něco omylem přepsala, ale nemůžu přijít na to, kde je chyba ... nejprve si vyberu z nabídky lektorů, kterou mám uloženou v DB... <form method="post" enctype="multipart/form-data"> <table> <tr><td><select name="lektor" /> <? $host="mysql.ic.cz"; $uziv="*****"; $heslo="*****"; if(!mysql_connect($host,$uziv,$heslo)){ echo "Nelze vytvořit spojení s databází!!!"; } $link=mysql_connect($host,$uziv,$heslo); mysql_query("set names cp1250"); $db=mysql_select_db("ic_padma_kladno",$link) or die ("Nepovedlo se otevřít databázi"); $query = "SELECT * FROM Tym ORDER BY Poradi"; $result = mysql_query($query, $link) or die(mysql_error()); while ($row=mysql_fetch_array($result)){ echo "<option>".$row["Jmeno"]."</option>"; } mysql_free_result($result); mysql_close(); echo "</select></td><td><input type=\"submit\" value=\"Vybrat\" /></td></tr>"; echo "</table>"; echo "</form>"; (tady je kousek skriptu, kde získám proměnnou $jmeno) Po vybrání lektora se vypíše formulář (kde si mohu vybrat položku, kterou chci změnit) echo "<form method=\"post\">"; echo "<table><tr><td><input type=\"text\" name=\"jmeno\" value=$jmeno readonly /></td></tr>"; echo "<tr><td><input type=\"submit\" name=\"zmJmeno\" value=\"Upravit jméno\" /></td>"; echo "<td><input type=\"submit\" name=\"zmFoto\" value=\"Změnit portétovou fotku\" /></td>"; ..... + další možnosti echo "</td></tr>"; echo "</table>"; echo "</form>"; Tak, a teď když kliknu na položku změnit jméno, nestane se nic. Správně by se měl objevit další formulář, kde se mi vypíše původní jméno, které mohu přepsat. Prostě if($zmJmeno) vyhodnotí jako false: if ($zmJmeno){ echo "<form method=\"post\" ><table><tr><td><input type=\"text\" name=\"jmeno\" value=$jmeno readonly /></td><td></td></tr><tr><td><input type=\"text\" name=\"celeJmeno\" value=\" "; $host="mysql.ic.cz"; $uziv="*****"; $heslo="*****"; if(!mysql_connect($host,$uziv,$heslo)){ echo "Nelze vytvořit spojení s databází!!!"; } $link=mysql_connect($host,$uziv,$heslo); mysql_query("set names cp1250"); $db=mysql_select_db("ic_padma_kladno",$link) or die ("Nepovedlo se otevřít databázi"); $query = "SELECT * FROM Tym ORDER BY Poradi"; $result = mysql_query($query, $link) or die(mysql_error()); $num = mysql_num_rows($result); while ($row=mysql_fetch_array($result)){ if ($row["Prezdivka"]==$jmeno){ echo $row["Jmeno"];} } mysql_free_result($result); mysql_close(); echo " \" /></td><td><input type=\"submit\" value=\"Uložit\" /></td></tr></table></form> "; a konečné zpracování, ke kterému se ani nedostanem if ($celeJmeno){ $host="mysql.ic.cz"; $uziv="*****"; $heslo="*****"; if(!mysql_connect($host,$uziv,$heslo)){ echo "Nelze vytvořit spojení s databází!!!"; } $link=mysql_connect($host,$uziv,$heslo); mysql_query("set names cp1250"); $db=mysql_select_db("ic_padma_kladno",$link) or die ("Nepovedlo se otevřít databázi"); $query = "UPDATE Tym SET Jmeno='$celeJmeno' WHERE Prezdivka='$jmeno'"; $result = mysql_query($query, $link) or die(mysql_error()); mysql_close(); } } No a stejně tak nefunguje nic ostatního :-( Nevíte, co by s tím mohlo být? Díky. |
||
panther Profil |
#2 · Zasláno: 12. 9. 2010, 16:13:39 · Upravil/a: panther
Darja:
místo if ($zmJmeno) použij if (isset($_POST['zmJmeno'])) |
||
Darja Profil |
#3 · Zasláno: 12. 9. 2010, 16:22:20
to nepomohlo :-(
|
||
jenikkozak Profil |
#4 · Zasláno: 12. 9. 2010, 16:53:00
Darja:
Ale ano, mělo by. Pokud se ti skutečně předchozí formulář zobrazí a odešle, není důvod, aby se ta podmínka měla vyhodnotit jako false. Pokud ale nepoužíváš IE a neodesíláš ten formulář Enterem. V IE se totiž neodesílá atribut name tlačítka, pokud na něj neklikneš. |
||
Darja Profil |
#5 · Zasláno: 12. 9. 2010, 17:09:46
mě vždycky napadne řešení poté, co sem ten dotaz odešlu, nezávisle na tom, jak dlouho nad tím předtím přemýšlím :-D .... podmínku
if($lektor) if($zmJmeno) |
||
Darja Profil |
#6 · Zasláno: 12. 9. 2010, 17:55:54
ještě mám jeden problém...
if (isset($_POST['$zmFoto'])){ echo "<form method=\"post\" enctype=\"multipart/form-data\" > <table><tr><td><input type=\"text\" name=\"jmeno\" value=$jmeno readonly /></td><td></td></tr> <tr><td><input type=\"file\" name=\"foto\" accept=\"lektori-foto/*\", text/plain\" /></td> <td><input type=\"submit\" name=\"nahrat\" value=\"Nahrát\"></td></tr></table></form>" ; $jmenoF = $_POST["jmeno"]; } v proměnné $jmeno je uložena hodnota např. "Anna" ( <input type=\"text\" name=\"jmeno\" value=$jmeno readonly /> |
||
Alphard Profil |
#7 · Zasláno: 12. 9. 2010, 20:18:42
Darja:
Moc se mi nezdá ta podmínka if (isset($_POST['$zmFoto'])) konkrétně proměnná v apostrofech.
„v proměnné $jmeno je uložena hodnota např. "Anna"“ Opravdu, nebo to jen přepokládáte? Co je v print_r($_POST); ?
|
||
Darja Profil |
#8 · Zasláno: 12. 9. 2010, 21:49:22
Omlouvám se, překlep. Samozřejmě má být
if (isset($_POST['zmFoto'])) Opravdu, zkoušela jsem vypsat pomocí echo před zmáčknutím tlačítka a vypsalo se mi Anna, a pak po zmáčknutí a nevypsalo se nic. |
||
Alphard Profil |
#9 · Zasláno: 12. 9. 2010, 22:25:11
Darja:
„Omlouvám se, překlep. Samozřejmě má být“ Už po druhé :-) Kódy sem vkládané prosím kopírujte z těch skutečných. Přepisování je k ničemu, některé chyby se skryjí a jiné vytvoří. „zkoušela jsem vypsat pomocí echo před zmáčknutím tlačítka a vypsalo se mi Anna“ Co jste zkoušela vypsat? Vždyť v echo je celá tabulka tabulka, tak to snad vidíte. Zkusila jste to print_r($_POST); ?
|
||
Darja Profil |
#10 · Zasláno: 13. 9. 2010, 13:25:05
print_r($_POST); Array ( [jmeno] => Anna [zmFoto] => Změnit portétovou fotku [NRodr1] => 1 [NRodr2] => 1 [NRcert] => 1 ) |
||
Alphard Profil |
#11 · Zasláno: 13. 9. 2010, 13:29:04
Darja:
„[jmeno] => Anna“ Takže $_POST['jmeno'] nemůže být po odeslání prázdné. Zkontrolujte si překlepy.
|
||
Darja Profil |
#12 · Zasláno: 13. 9. 2010, 14:31:20
Asi to zkusím předělat znovu, překlepy hledám už dost dlouho a nemůžu nic najít. Zatím díky.
|
||
Časová prodleva: 14 let
|
0