Autor | Zpráva | ||
---|---|---|---|
kerisek Profil |
#1 · Zasláno: 30. 12. 2011, 00:53:56 · Upravil/a: kerisek
Zdravím všechny,
pracuji na maturitní práci, ve které vypisuji z tabulky řádek. údaje se rozloží do jednotlivých textových polí ve form. Po vypsání a úpravě textu, potřebuju novými údaji přepsat ty původní. Bohužel nevím, jak do do textového pole zároveň vložit původní hodnotu a zároveň toto pole dále uložit do tabulky. Hodnotu $id tato stránka dostane z jiné stránky, takže id není třeba řešit. Díky že tomuto věnujete čas <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <form> <form method=POST action="<?php echo $_SERVER["PHP_SELF"]; ?>"> <input type="text" name="autor" size="90" value=" <?php echo $autor4;?> "> <textarea name="text" v cols="70" rows="20" wrap=soft> <?php echo $citat4; ?> </textarea> <input type="submit" name="submit" value="upravit "> <?php include ("pripojeni.php"); //připojení k databázi if ($submit=="upravit") /* Je formular odeslan? */ { echo '<br>' . '------Data odeslána.------'; mysql_query("SET CHARACTER SET utf8"); // mysql_query("UPDATE clanek set autor='$autor' WHERE id='$id' "); /* prepsani puvodnich udaju novymi*/ } else /* Pokud je formular odeslan*/ { echo '<br>'; /* Pokud ne*/ echo '------Data neodeslána.------'; } ?> </form> </body> </html> Po odeslání to vypíše: <br /><b>Notice</b>: Undefined variable: autor4 in <b>C:\ComplexWebServer\http_docs\design\upravit-citat.php</b> on line <b>48</b><br /> Otázka teda zní, jak vložit do textového pole hodnotu tak, aby jsem z toho pole potom mohl novou hodnotu vzit a uložit ji do tabulky. |
||
Someone Profil |
#2 · Zasláno: 30. 12. 2011, 01:16:26 · Upravil/a: Someone
Nikde tam nevidim definování proměnné autor4 a citat4. Co se týče přepisování, tak jestli dobře rozumím tomu čeho se snažíš dosáhnout tak při vypisování řádku z databáze, vypiš i ID řádku a ulož ho do hidden inputu viz příklad:
$sql = mysql_query("SELECT * FROM tabulka"); $vysledek = mysql_fetch_assoc($sql); echo " <form method='POST'> <input type='text' name='autor' value='".$vysledek['autor']."' /> <textarea name='citat'>".$vysledek['citat']."<textarea/> <input type='hidden' name='id' value='".$vysledek['id']."' /> <input type='submit' name='upravit_data' value='Upravit' /> </form> "; if (isset($_POST['upravit_data'])) { mysql_query("UPDATE tabulka set autor='".$_POST['autor']."', citat='".$_POST['citat']."' WHERE tabulka.id='".$_POST['id']."'"); } edit: V tomto případě počítám s tím, že je záznám pouze jeden (pro ulehčení), v případě, že je záznamů víc, je třeba to vypsat cyklem a ještě pár věciček navíc, aby se rozlišilo, který form byl odeslán. |
||
Časová prodleva: 13 let
|
0