Session und Benutzer löschen

Zero2000

Erfahrenes Mitglied
Hallo

Ich probiere mich zum ersten mal mit Sessions, deswegen bitte nicht gleich durchdrehen.:)
Ich schildere mal kurz mein Problem: Ich habe z.B. drei Benutzer, einen Admin den Benutzer A und B.
Ich melde mich als Admin an und habe dann die Möglichkeit Benutzer zu löschen.
Jedoch bekomme ich aus meiner Benutzerliste immer nur den in der Session angemeldeten User oder den letzten User in der DB.
Ich habe eine Tabelle in der mir alle Benutzer aufgelistet werden, hinter jedem Benutzer ist ein löschen-Button und bei drücken auf diesen soll der jeweilige Benutzer gelöscht werden der davor steht.

Meine Session fange ich so an:
PHP:
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
	header("location:../ilogin.php");
	die;
}
Benutzer werdenso angezeigt:
PHP:
$adminquery = @mysql_query("SELECT user FROM i_users") or die("Kann die bisherigen Benutzer nicht ausw&auml;hlen!<br>".mysql_error());
	$counter = 1;
	while($row = @mysql_fetch_array($adminquery,MYSQL_ASSOC)) {
		echo '<tr bgcolor="'.$hg_color1.'">';
		echo '<td width="30" align="right">'.$counter.'</td>';
		echo '<td width="250">'.$row["user"].'</td>';
		echo '<td width="120"><input type="submit" name="delete" value="Löschen"></td>';
		echo '</tr>';
		echo '<input type="hidden" name="nutzer" value="'.$row["user"].'">';
		$counter++;
	}
Da ich ja die Variable user schon in der Session habe, habe ich auch schon versucht die Variablen umzubenennen, aber wenn ich das tue werden mir die Benutzer nicht mehr in der Liste angezeigt.

Ich sitze jetzt schon seit gestern dran und habe auch schon gegoogelt. Es gibt einige Leute die das Problem haben, nur nicht in Verbindung mit Sessions.
Vielleicht hat das ganze auch gar nix mit meinen Sessions zu tun, das weiß ich nicht.

Ich hoffe mir kann da jemand von den Spezi's weiterhelfen.

MfG Maik
 
Hi

Also nachstehender Code ist meine Datei in der die Benutzer angezeigt werden:
PHP:
<?php
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
	header("location:../ilogin.php");
	die;
}
include("db.inc.php");
echo '<table border="0" class="rand" width="750" cellpadding="2" cellspacing="0" bgcolor="'.$table_bg.'">';
echo '<tr>';
echo '<td><font color="'.$txt_color.'">Sie befinden sich hier: <b>Administration &gt; Benutzer anzeigen</b></font></td>';
echo '</tr>';
echo '</table><br>';
?>
<form action="i_index.php?action=admin_userdelete" method="post">
<table width="350" bgcolor="<?php echo $table_bg_rand; ?>" border="0" cellpadding="5" cellspacing="1">
	<tr>
		<td bgcolor="<?php echo $tr_bg; ?>" colspan="3"><b><font color="<?php echo $txt_color; ?>">Bisher angelegte Benutzer</font></b></td>
	</tr>
	<?php
	$adminquery = @mysql_query("SELECT user FROM i_users") or die("Kann die bisherigen Benutzer nicht ausw&auml;hlen!<br>".mysql_error());
	$counter = 1;
	while($row = @mysql_fetch_array($adminquery,MYSQL_ASSOC)) {
		echo '<tr bgcolor="'.$hg_color1.'">';
		echo '<td width="30" align="right">'.$counter.'</td>';
		echo '<td width="250">'.$row["user"].'</td>';
		echo '<td width="120"><input type="submit" name="delete" value="Löschen"></td>';
		echo '</tr>';
		echo '<input type="hidden" name="nutzer" value="'.$row["user"].'">';
		$counter++;
	}
?>
</form>
</table>
Die Datei zum löschen dürftest Du ja nicht benötigen da es ja im Moment darum geht das nix dort ankommt bzw. das falsche. Und wenn doch poste ich sie dir gern.

MfG Maik
 
Deine Strukturierung (php/html) solltest du mal etwas überarbeiten:)

Anstatt eines Button würde ich einen Link verwenden, der z.B. so aussehen könnte:
PHP:
<a href="<?php print"".$_SERVER['PHP_SELF']."?action=admin_userdelete&user=".$row['user'].""?>">L&ouml;schen</a>

In der gleichen Datei fügst du noch so etwas hinzu:

PHP:
if ( isset( $_GET['aktion'] ) && $_GET['aktion'] == "admin_userdelete" && isset( $_GET['user'] ) )
		{
    	$query = "DELETE FROM i_users WHERE user='".$_GET['user']."'";
    	$ergebnis = mysql_query( $query, MYSQL_ASSOC );
    	if ( ! $ergebnis )
        	die ( "loescheUser fatal error: ".mysql_error() );
		}
 
Zurück