Autor Zpráva
kerisek
Profil
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
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']."'");
}
Omluvám se za to, že ti to ukazuji takto příkladem, ale popisování toho všeho by bylo na dlouho. Doufám, že to je to na co jsi se ptal, pokud ne, tak se omluvám.
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0