Hey
meine Usersuche funktioniert nicht so, wie ich es gerne hätte ..
Die User suche ist folgendermaßen aufgebaut:
Eingabe -> Prüfen ob es eine Zahl ist -> Wenn ja prüfen ob ID(Zahl) vorhanden ist -> Wenn ja -> Direkt umleiten ENDE -> Wenn nicht vorhanden -> Fehlermeldung 'Keinen User gefunden' ...
... -> Wenn es keine Zahl ist -> Aus der DB die ID vom USER selectieren -> Wenn eine ID gefunden direkt umleiten ENDE ->
Wenn mehrere IDs gefunden wurden -> Ausgabe mit while() ENDE -> Wenn keine ID gefunden wurde -> Fehlermeldung 'Keinen User gefunden'
Es gibt die Möglichkeit nach ID, Mail, Namen oder Nachnamen zu suchen.
Daher prüfe ich zuerst ob es eine Zahl ist oder nicht.
Nun zu meinem Problem:
Egal welchen User ich suche, es wird nie einer gefunden, auch wenn er eigentlich existiert.
Warum ? Wo liegt mein Fehler in der Logik ?
Wäre sehr nett, wenn mir jemand einen kleinen Denkanstoß oder einen Lösungsvorschlag geben würden.
Hier meine Syntax:
<?php
$db = mysql_connect($host, $user, $gateway, true) or die (mysql_error());
mysql_select_db($database) or die (mysql_error());
session_start();
$logincheck = $_SESSION['logincheck'];
if ($logincheck == 'successful') {
$loginuser = $_SESSION['loginmail'];
$slcu = mysql_query("SELECT `id` FROM `member` WHERE `mail`='".mysql_real_escape_string($loginuser)."'", $db) or die (mysql_error());
$user = mysql_fetch_assoc($slcu);
$utis = $_POST['where'];
if (empty($utis)) {
header('Location: /./user/index.php?id='.$user['id'].'');
$_SESSION['searching'] = 'Bitte ID, Mail, Vor- oder Nachnamen angeben.';
}
else {
if (is_int($utis)) {
$true = mysql_query("SELECT `mail` FROM `member` WHERE `id`='".mysql_real_escape_string($utis)."'", $db) or die (mysql_error());
if (mysql_num_rows($true) == 1) {
header('Location: /./user/index.php?id='.$utis.'');
}
else {
header('Location: /./user/index.php?id='.$user['id'].'');
$_SESSION['searching'] = 'Keinen User gefunden.';
}
}
else {
$mysql = mysql_query("SELECT `id` FROM `member` WHERE ((`name`='".mysql_real_escape_string($utis)."') OR (`lastname`='".mysql_real_escape_string($utis)."') OR (`mail`='".mysql_real_escape_string($utis)."'))", $db) or die (mysql_error());
$id = mysql_fetch_assoc($mysql);
if (mysql_num_rows($id) == 1) {
header('Location: /./user/index.php?id='.$id['id'].'');
}
else if (1 < mysql_num_rows($id)) { ?>
<html>
<body>
<table class="table"> <?php
while($moreuser = mysql_fetch_assoc($mysql)) { ?>
<tr>
<td class="id"><?php echo $moreuser['id']; ?></td>
<td class="link"><a href="/./user/index.php?id=<?php echo $moreuser['id'];?>">Profil besuchen </a></td>
<td class="other"><?php echo $usernamne; ?></td>
<td class="other"><?php echo $userlname; ?></td>
<td>BILD</td>
</tr>
<?php } ?>
</table>
</body>
</html>
<?php
}
else {
header('Location: /./user/index.php?id='.$user['id'].'');
$_SESSION['searching'] = 'Keinen User gefunden.';
}
}
}
}
else {
header('Location: /./index.php');
$_SESSION['loginreport'] = 'Du musst eingeloggt sein.';
}
?>
Alles anzeigen
Liebe Grüße
Tim