Borykam się z problemem dotyczącym jak w temacie, mianowicie studiuję książkę "PHP5, Apache i MySQL. Od podstaw" na potrzeb utworzenia panelu administracyjnego do strony internetowej.Skrypt działa prawie dobrze, problem występuje, gdy zalogowany administrator aktualizuje jednego użytkownika, aktualizuje wszystkich naraz w bazie danych, również przy usuwaniu użytkowników. Usuwam jednego, usuwam wszystkich z bazy danych.
Oto skrypt z książki, sprawdzałem kilka razy kod.
Podam przykład z/w książki, strona 400 jeśli ktoś posiada tą książkę.
delete_user.php
<?php include "auth_admin.inc.php"; include "conn.inc.php"; if ($_SESSION['admin_level'] == "1") { $query_delete = "DELETE FROM user_info " . "WHERE id = '" . $_POST['id'] . "'"; $_SESSION['user_logged'] = ""; $_SESSION['user_password'] = ""; "Zostaniesz przekierowany do obszaru administracyjnego!<br>"; "<a href=\"admin_area.php\">kliknij tutaj</a>)"; } else { ?> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>PHP5. Apache i MySQL</title> </head> <body> <h1>Obaszar administracyjny</h1> <p> Czy na pewno chcesz usunąć użytkownika?<br /> Tej operacji nie można cofnąć!<br /> <form action="delete_user.php" method="post"> <input type="submit" name="submit" value="Tak"> <input type="button" value=" Nie " onclick="history.go(-1);"> </form> </p> </body> </html> <?php } } else { ?> Nie masz wystarczających uprawnień, aby usunąć użytkownika.<br> <a href="admin_area.php">Kliknij tutaj</a>, aby wrócić. <?php } ?>
a oto skrypt do aktualizacji użytkownika może tu błąd gdzieś występuje ?
update_user.php
<?php include "auth_admin.inc.php"; include "conn.inc.php"; ?> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>PHP5. Apache i MySQL</title> </head> <body> <h1>Aktualizacja informacji o użytkowniku</h1> <p> <?php $query_update = "UPDATE user_info SET username = '" . $_POST['username'] . "', password = (PASSWORD('" . $_POST['password'] . "')), first_name = '" . $_POST['first_name'] . "', last_name = '" . $_POST['last_name'] . "', email = '" . $_POST['email'] . "', city = '" . $_POST['city'] . "', state = '" . $_POST['state'] . "', hobbies = '" . "WHERE id = '" . $_POST['id'] . "'"; $query = "SELECT * FROM user_info WHERE id = '" . $_POST['id'] . "'"; ?> <b>Informacje zotały uaktualnione.</b><br /> <a href="admin_area.php">Kliknij tutaj</a>, aby powrócić do obszaru administracyjnego. <form action="update_user.php" method="post"> Nazwa użytkownika: <input type="text" name="username" Hasło: <input type="password" name="password" value="">Nie jest wyświetlane<br /> Imię: <input type="text" name="first_name" Nazwisko: <input type="text" name="last_name" Adres email: <input type="text" name="email" Miasto: <input type="text" name="city" Województwo: <input type="text" name="state" Zainteresowania: lub hobby (należy wybrać co najmniej jedno):<br /> <select name="hobbies[]" size="10" multiple> <option value="Golf"<?php } ?>>Golf</option> <option value="Wędkarstwo"<?php } ?>>Wędkarstwo</option> <option value="Czytanie"<?php } ?>>Czytanie</option> <option value="Taniec"<?php } ?>>Taniec</option> <option value="Internet"<?php } ?>>Internet</option> <option value="Podróże"<?php } ?>>Podróże</option> <option value="Komputer"<?php } ?>>Komputer</option> <option value="Inne niż wymienione"<?php } ?>>Inne niż wymienione</option> </select><br /><br /> <input type="submit" name="submit" value="Uaktualnij"> </form> <?php } else { $query = "SELECT * FROM user_info WHERE id = '" . $_GET['id'] . "'"; ?> <form action="update_user.php" method="post"> Nazwa użytkownika: <input type="text" name="username" Hasło: <input type="password" name="password" value="">Nie jest wyświetlane<br /> Imię: <input type="text" name="first_name" Nazwisko: <input type="text" name="last_name" Adres email: <input type="text" name="email" Miasto: <input type="text" name="city" Województwo: <input type="text" name="state" Zainteresowania: lub hobby (należy wybrać co najmniej jedno):<br /> <select name="hobbies[]" size="10" multiple> <option value="Golf"<?php } ?>>Golf</option> <option value="Wędkarstwo"<?php } ?>>Wędkarstwo</option> <option value="Czytanie"<?php } ?>>Czytanie</option> <option value="Taniec"<?php } ?>>Taniec</option> <option value="Internet"<?php } ?>>Internet</option> <option value="Podróże"<?php } ?>>Podróże</option> <option value="Komputer"<?php } ?>>Komputer</option> <option value="Inne nię wymienione"<?php } ?>>Inne niż wymienione</option> </select><br /><br /> <input type="submit" name="submit" value="Uaktualnij"> <input type="button" value="Anuluj" onclick="history.go(-1);"> </form> <?php } ?> </body> </html>
Prosiłbym o pomoc, bo już sobie nie radzę.
Pytanko drugie:
Nie wiem czy mam racje ale książka narzuciła mi taki skrypt jako tworzenie nowego użytkownika w bazie danych:
CREATE TABLE user_info ( email varchar (50) NOT NULL, username varchar (50) NOT NULL, .... .... .... id int(10) NOT NULL DEFAULT '0' );
Czy "id int(10) NOT NULL default '0'" przypisuje wszystkim użytkownikom "id" 0 ?
Zauważyłem, że w PHPMyAdmin wszyscy użytkownicy mają nadaną wartość "id" 0.
Czy to nie powoduje właśnie mojego problemu ?
Przepraszam za taką pisownie ale nie znam jeszcze fachowego języka jak większość tu ludzi posługuje się.
Pozdrawiam i z góry dziękuje.