Problem mit der delete-Methode again

bmaas

Grünschnabel
Nun aber noch eine andere Frage: irgendwie funktioniert die Methose deleteUser() nicht so richtig.
Habe in der Methode printUser hidden-Felder eingefügt, damit genau der Benutzer mit der jeweiligen ID gelöscht wird und der Username des gelöschten Users angezeigt wird (siehe deleteUser).

Woran kann das liegen?

Bin leider nocht nicht so erfahren in PHP.

Hier nochmal das Skript:
PHP:
<?php

require_once "config.php";

class Superuser{
	
// Konstruktor
function Superuser(){
}

	
function getUser(){
$query = 'SELECT user_username,
		user_password FROM users WHERE user_status = "1"';
return mysql_query($query); 
}

	
function printUser(){
$result = $this->getUser();
while($row = mysql_fetch_array($result)){
		
	echo' <form action="'. $_SERVER['PHP_SELF'] .'" method="post">
	<table border="1" width="100%">
	<tr>
	<td width="25%">
	' . $row['user_username'] . '</td>
	<td width="25%">
	' . $row['user_password'] . '</td>
	<td width="25%">
	<input type="submit" name="edit" value="edit"></td>
	<td width="25%">
	<input type="submit" name="delete" value="delete">
	<input type="hidden" name="id" value="'. $row['user_id'] .'">
	<input type="hidden" name="user" value="'. $row['user_username'] .'">
	</td>
	</table>';
		}
	echo '<form action="'. $_SERVER['PHP_SELF'] .'" 
			method="post"><br><br>
			<input type="submit" name="add" value="add"></form>';
	}

	
function deleteUser(){
	$delete = mysql_query("DELETE FROM users 
				WHERE user_id = '".$_POST['id']."'");
			
	 echo '<p align="center">
        	Der  Benutzer '.$_POST['user'].'
        	wurde erfolgreich gelöscht!<br><br>';
        echo '
        <form action="' . $_SERVER['PHP_SELF'] . '" method="post">
        <input type="submit" name="back2" 
        value="Zurück" class="button"></form>';
		
	}
	
	
function printAddUser(){
	
$userForm ='<form action="'. $_SERVER['PHP_SELF'] .'" method="post">
		<table align="center">
		<tr>
		<td bgcolor="#e7e7e7">Benutzername</td>
		<td bgcolor="#ffffff">
		<input type="text" name="username" 
	size="20" class="input" value="'.$_POST['username'].'">
	</td>
	</tr>
	<tr>
	<td bgcolor="#e7e7e7">Passwort</td>
	<td bgcolor="#ffffff"><input type="password" name="password"
	size="20" class="input"></td>
	</tr>
	<tr>
	<td bgcolor="#e7e7e7">Passwort wiederholen</td>
	<td bgcolor="#ffffff"><input type="password" name="password2" 
	 size="20" class="input"></td>
	</tr>
	<tr>
	<td bgcolor="#e7e7e7" align="center" colspan="2">
	<input type="submit" name="submit" value="Add" class="button">
	</td>
	</tr>
	</table>
	</form>';
  
		return $userForm;	
	}
	
function addUser(){
	
	 $username = $_POST['username'];
     $password = $_POST['password'];
     $insert = mysql_query("INSERT INTO users 
     		SET user_username = '$username', 
     			user_password = '$password', 
     			user_status ='1'");
        echo '<p align="center">
        	Der  Benutzer '.$_POST['username'].'
        	wurde erfolgreich angelegt!<br><br>';
        echo '
        <form action="' . $_SERVER['PHP_SELF'] . '" method="post">
        <input type="submit" name="back1" 
        value="Zurück" class="button"></form>';
	
	}
}
 
Könntest Du "funktioniert nicht so richtig" genauer spezifizieren? Kommen Fehlermeldungen? Wenn nicht, ermittle mit [phpf]mysql_error[/phpf] welches Problem eventuell MySQL mit Deinem DELETE-Statement hat. Lasse Dir dieses auch einmal ausgeben und überprüfe, ob alle Werte richtig angekommen sind.

snuu
 
Erhalte keine Fehlermeldung, auch nicht mit mysql_error().
Wenn ich den delete-Button das erste Mal anklicke, kommt die Meldung das der entsprechende Benutzer erfolgreich gelöscht wurde. Er wird aber nicht aus der DB gelöcht. Will ich einen anderen Benutzer löschen, so kommt die Meldung, dass der Benutzer, den ich das erste Mal gelöscht habe, gelöscht wurde.
Weiis nicht, ob die hidden-Felder stimmen oder woran es liegt.
 
Habe das Problem gefunden. Habe beim Select-Befehl vergessen, die user-id mitauszulesen. Doof!
Trotzdem danke
 
Zurück