Witam wszystkich.
Stawiam pierwsze kroki w PHP. Mam kod mini panelu administracyjnego, jednak gdy go uruchamiam pojawia się kilka błędów.
Tu kod wyświetlania tabeli oraz usuwania z bazy
$connection = @mysql_connect('localhost', 'root', 'pass')
or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('konta', $connection)
or die('Nie mogę połączyć się z bazą danych');
$wynik = mysql_query("SELECT * FROM konta")
or die('Błąd zapytania');
if(mysql_num_rows($wynik) > 0) {
echo "<table cellpadding=\"8\" border=5>";
while($r = mysql_fetch_assoc($wynik)) {
echo "<tr>";
echo "<td>".$r['imie']."</td>";
echo "<td>".$r['nazwisko']."</td>";
echo "<td>".$r['email']."</td>";
echo "<td>".$r['nick']."</td>";
echo "<td>".$r['password']."</td>";
echo "<td>
<a href=\"administracja.php?a=del&id=$r[id]\">DEL</a>
<a href=\"edycja.php?a=edit&id=$r[id]\">EDIT</a>
</td>";
echo "</tr>";
}
echo "</table>";
}
$a = $_GET['a'];
$id= $_GET['id'];
if($a == 'del' and !empty($id)) {
/* usuwamy rekord */
mysql_query("DELETE FROM konta WHERE id='$id'")
or die('Błąd zapytania: '.mysql_error());
echo 'Rekord został usunęty z bazy';
header('Location: administracja.php');
}
w wyniku pojawia się błąd :
Notice: Undefined index: a in C:\xampp\htdocs\test\administracja.php on line 32
Notice: Undefined index: id in C:\xampp\htdocs\test\administracja.php on line 33
Tu plik Edycji i update'a:
<?php
$connection = @mysql_connect('localhost', 'root', 'pass')
or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('konta', $connection)
or die('Nie mogę połączyć się z bazą danych');
$wynik = mysql_query("SELECT * FROM konta")
or die('Błąd zapytania');
$a = $_REQUEST['a'];
$id =$_GET['id'];
if($a == 'edit' and !empty($id)) {
/* zapytanie do tabeli */
$wynik = mysql_query("SELECT * FROM konta WHERE
id='$id'")
or die('Błąd zapytania');
if(mysql_num_rows($wynik) > 0) {
$r = mysql_fetch_array($wynik);
echo '<form action="administracja.php" method="post">
<input type="hidden" name="a" value="save" />
<input type="hidden" name="id" value="$id" />
imie:<br />
<input type="text" name="imie"
value="'.$r['imie'].'" /><br />
nazwisko:<br />
<input type="text" name="nazwisko"
value="'.$r['nazwisko'].'" /><br />
email:<br />
<input type="text" name="email"
value="'.$r['email'].'" /><br />
nick:<br />
<input type="text" name="nick"
value="'.$r['nick'].'" /><br />
password:<br />
<input type="text" name="password"
value="'.$r['password'].'" /><br />
<input type="submit" value="popraw" />
</form>';
}
}
elseif($a == 'save') {
/* odbieramy zmienne z formularza */
$id = $_POST['id'];
$imie = trim($_POST['imie']);
$nazwisko = trim($_POST['nazwisko']);
$email = trim($_POST['email']);
$nick = trim($_POST['nick']);
$password = trim($_POST['password']);
/* uaktualniamy tabelę*/
mysql_query("UPDATE konta SET imie='$imie', nazwisko='$nazwisko', email='$email', nick='$nick', password='$password' WHERE id='$id'")
or die('Błąd zapytania');
echo ' Zaktualizowano dane !!!';
header('location:administracja.php');
}
usuwanie działa poprawnie bo rekord się usuwa i strona się odświeża, natomiast nie wiem czemu pojawiają się Notice,
Edycję można zrobić, ale nie zapisuje się do bazy i też wyświetlają się notice.
Proszę o podpowiedź skąd te komunikaty.