Autor Zpráva
Zonicek
Profil *
Zdrawíčko.. mám tento script...


if ($send3 )
{
global $id;
// vytvoøíme unixový èas
// $datum = MkTime(0,0,0,$mesic,$den,$rok);
// updatujeme údaje z formuláøe
$sql = mysql_query("UPDATE seznamvysetreni SET
nazev = '$nazev'
WHERE id = '$id'");

echo "<H3>Upraveno </H3>\n";
echo "$id" ;
// ukonèíme skript
//foot();
//exit;
}

if ($id)
{
global $id;
// selectuje se èlánek s konkrétním id
$sql2 = mysql_query("SELECT * FROM seznamvysetreni WHERE id = '$id'");
$data = mysql_fetch_row($sql2);

?>

<H3 ALIGN="left">Úprava oboru<? echo "$id" ; ?></H3>
<FORM METHOD="POST" ACTION="seznamvys2.php?id=<?php echo"$id" ?>">
<INPUT TYPE="HIDDEN" NAME="send3" VALUE="true">
<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="4" ALIGN="left">
<TR>
<TD><B>Název oboru:</B></TD>
<TD><INPUT TYPE="TEXT" NAME="nazev" SIZE="58" MAXLENGHT="150" VALUE="<? echo $data[2]; ?>"></TD>


</TR>
<TR>
<TD ALIGN="CENTER" COLSPAN="4"><INPUT TYPE="SUBMIT" VALUE="ODESLAT"></TD>
</TR>
</TABLE> <br><br><br>
</FORM> <?}?>

Když dám odselat tak mi to napíše opraveno... ale nic to neopraví a taky to nenapíše už tu proměnou co podtim mám to echo
Když dám editovat tak se mi vypíše ta proměná jako že úprava a proměná ale když dám odeslat tak se mi to neodešle s proměnou..
Ale když jak tam mám to SQL :

$sql = mysql_query("UPDATE seznamvysetreni SET
nazev = '$nazev'
WHERE id = '$id'");
tak když místo $id dám třeba 50 tak se to natý 50tce změní :(
Nevíte co stim ?
I. M. Bur
Profil *
V tom pripade pochopitelne je problem s obsahem promenne $id. Zkontroluj co v ni je, protoze jestli je v ni neco jineho nez ID (napr. prazdny retezec), tak ti to updatuje vsechny sloupce kde ID='' a to predpokladam neni ani jeden.
Zonicek
Profil *
mnoo já to odesílám s ID jenze mi dotoho form3 to ID nedojde :( a nevim jak ho tam dostat :(
Zonicek
Profil *
když dám upravit tak tam ta ID ještě je .. ale když dám odeslat tak tam už neni protože mi to napíše jenom upraveno.. a mělo by to napsat upraveno a $id
Wan-To
Profil *
Za příkazy if máš global $id. Tam bude chyba...
global se totiž používá ve funkcích, když potřebuješ přístup k nějaké proměnné, která byla vytvořena mimo funkci:

$a = 10;
function vypisA() {
echo $a;
}

To nefunguje (pro funkci nebude $a existovat), správně je:

$a = 10;
function vypisA() {
global $a;
echo $a;
}

Nevím, proč tě napadlo includovat globální proměnnou $id v příkazu if, který je taky globální (protože není ve funkci). Data z POST formulářu se čtou takto:

$id = $HTTP_POST_VARS["id"];

Pro GET je to pole $HTTP_GET_VARS["název formulářového prvku"].

Když vymažeš obě global $id a na začátek skriptu přídáš $id = $HTTP_POST_VARS["id"], mělo by to fungovat...
llook
Profil
Pro formulářová data je lepší používat pole $_GET a $_POST, je to přehlednější:
$id = $_POST['id'];
Toto téma je uzamčeno. Odpověď nelze zaslat.