Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Nie wykonuje się update
Forum PHP.pl > Forum > Przedszkole
alano
Hej, mam podstawowe pytanko.

Na czym polega problem tego typu: Notice: Undefined index: id in ... ? Czy w tym zapytaniu jest jakiś błąd? Problem dotyczy linii 35, czyli id POST id, a jak to usune to czepia sie where id = id

CODE
<?
$id=$_POST['id'];
$flag=$_POST['flag'];
$name=$_POST['name'];
$function=$_POST['function'];
$age=$_POST['age'];
$location=$_POST['location'];
$activity=$_POST['activity'];
$pic=($_FILES['photo']['name']);
$guid=$_POST['guid'];

$sql="UPDATE TIM SET flag='$flag', name='$name', function='$function', age='$age', location='$location', activity='$activity', pic='$pic', guid='$guid' WHERE id='$id'";

$result = mysql_query($sql) or die(mysql_error()) ;

?>


a form tutaj jest: ( sorry za brak formatowania sad.gif )

CODE
<form enctype="multipart/form-data" action="edit-akcja.php" method="POST">
Flag:
<?
echo '
<select name="flag">
<option value="poland.gif"'; if ($info['flag'] == 'poland.gif') { echo '
selected="selected"'; } echo '>Poland</option>

<option value="england.gif"'; if ($info['flag'] == 'england.gif') { echo '
selected="selected"'; } echo '>Great Britain</option>

<option value="germany.gif"'; if ($info['flag'] == 'germany.gif') { echo '
selected="selected"'; } echo '>Germany</option>

<option value="russia.gif"'; if ($info['flag'] == 'russia.gif') { echo '
selected="selected"'; } echo '>Russia</option>

<option value="ukraine.gif"'; if ($info['flag'] == 'ukraine.gif') { echo '
selected="selected"'; } echo '>Ukraine</option>
';

echo '</select>';
?>
<br />
Name: <input type="text" name="name" value="<? echo "$info[name]"?>"><br>
Function: <input type="text" name = "function" value="<? echo "$info[function]"?>"><br>
Age: <input type="text" name = "age" value="<? echo "$info[age]"?>"><br>
Location: <input type="text" name = "location" value="<? echo "$info[location]"?>"><br>
Activity:

<?
echo '
<select name="activity">
<option value="active.png"'; if ($info['activity'] == 'active.png') { echo '
selected="selected"'; } echo '>active</option>

<option value="inactive.png"'; if ($info['activity'] == 'inactive.png') { echo '
selected="selected"'; } echo '>inactive</option>
';

echo '</select>';
?>
<br />
Photo: <input type="file" name="photo"><br>
Current photo: <? Echo "<img src=http://www.angfr.hekko.pl/test2/images/".$info['pic'] ."> <br>"; ?> Upload new photo to replace it.<br/>
Guid: <input type="text" name = "guid" value="<? echo "$info[guid]"?>"><br>
<input type="submit" value="Edit">
</form>


Sephirus
Witaj.

1. Do kodu PHP używaj odpowiednich BBCode

2. Odbierasz w skrypcie pełno zmiennych a nie widać ich w formularzu zatem ich pewnie nie wysyłasz (jak na przykładzie ID). Musisz sprawdzać czy dana zmienna $_POST istnieje i jeśli nie to dawać odpowiedni komunikat:

  1. if(!isset($_POST['id'])) echo 'podaj id!'; // itp... itd...
b4rt3kk
Wiesz co to znaczy z języka angielskiego? Że takowa zmienna, nie została zdefiniowana, mimo tego jej używasz, dlatego wyrzuca notice (nie błąd, z tym skrypt ruszy).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.