| 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: 15 let
|
|||
0