Ich habe 2 dbs, die hier wichtig sind - systemmsg (Systemmeldungen) und friendrequests (enthält alle Freunde/ausstehende/abgelehnte Anfragen). HierMySQL und PHP-Fehler
ist der Haupt-Code, die ich für dieses Skript:
if(isset($invitefriend)){
if(!empty($invitefriendname)){
if($invitefriendname !== $sessionname){
$sqlcheckforrequest = "SELECT * FROM friendrequests WHERE sendername='$sessionname' AND recipientname='$invitefriendname'";
$resultcheckforrequest = mysqli_query($conn, $sqlcheckforrequest);
if(mysqli_num_rows($resultcheckforrequest) == 0){
$sqlscheckforusername = "SELECT * FROM registered WHERE userName='$invitefriendname'";
$resultcheckforusernamesql = mysqli_query($conn, $sqlscheckforusername);
if(mysqli_num_rows($resultcheckforusernamesql) !== 0){
while($reqfriend = mysqli_fetch_array($resultcheckforusernamesql)){
$frsendid = $reqfriend['id'];
$frsendname = $reqfriend['userName'];
}
$sqlsendrequest = "INSERT INTO friendrequests (senderid,recipientid,sendername,recipientname,status) VALUES ('$sessionid','$frsendid','$sessionname','$frsendname','0')";
$resultsendrequest = mysqli_query($conn, $sqlsendrequest);
if($resultsendrequest == true){
if($rights = 0){
$myusernamefriendupdate = "<a href=\'profile.php?id=$sessionid\' class=\'u-onsys\'>$sessionname</a>";
}
if($rights = 1){
$myusernamefriendupdate = "<a href=\'profile.php?id=$sessionid\' class=\'cmod-onsys\'>$sessionname</a>";
}
if($rights = 2){
$myusernamefriendupdate = "<a href=\'profile.php?id=$sessionid\' class=\'mod-onsys\'>$sessionname</a>";
}
if($rights = 3){
$myusernamefriendupdate = "<a href=\'profile.php?id=$sessionid\' class=\'adm-onsys\'>$sessionname</a>";
}
if($rights = 4){
$myusernamefriendupdate = "<a href=\'profile.php?id=$sessionid\' class=\'root-onsys\'>$sessionname</a>";
}
$systemmessage = "$myusernamefriendupdate invited you to become his friend.";
$systemtitle = "Friend request";
$sqlupdatesystemmessage = "INSERT INTO systemmsg (systemtitle, systemto, systemtext) VALUES ('$systemtitle','$frsendname','$systemmessage')";
mysqli_query($conn, $sqlupdatesystemmessage);
$countsystemmessages++;
$invitefrerror = "Success";
}
} else {
$invitefrerror = "We couldn't find that username";
}
} else {
$invitefrerror = "You already invited this user";
}
} else {
$invitefrerror = "Inviting yourself";
}
} else {
$invitefrerror = "Empty";
}
}
Also das Skript sollte auf diese Weise arbeiten:
Benutzer 1 sendet Freund Anfrage an Benutzer 2 , Benutzer 2 erhält Systemmeldung mit den folgenden Angaben: usericon (variabel durch die Benutzerrechte, die die Anfragen gesendet haben) Der Benutzername hat Ihnen eine Einladung gesendet. (oder was auch immer)
Wir haben eine normale Form mit 2 Eingaben Text und senden. Wir haben unsere Sitzung Rechte aus der db registriert (Anwender) ausgewählt, und es ist
$rights = $row['rights'];
Bevor ich „Anfrage senden“ meinen (die Sitzungsrechte) fein arbeiten (immer die reelle Zahl aus der db (0 Benutzer , 1 für Chat Moderator, 2 für Moderator, 3 für Admin und 4 für root.) Aber wenn ich diesen kleinen frechen Knopf klicke, ändern sich die Rechte zu einer konstanten Zahl (4 in diesem Beispiel) und es zeigt eine Einladung von einem normalen an Benutzer zum Beispiel mit dem Root-Symbol Ich weiß nicht, wie das zu beheben ist und wo der eigentliche Fehler ist
Ich hoffe, die meisten von euch können meine Frage verstehen, denn es gibt buchstäblich niemand anderen als Sie fragen im Moment.
Danke für Ihre Zeit!
'if ($ rights = 0) {' Sie ordnen es zu, also werden alle diese 'if' Anweisungen wahr zurückgegeben. Schau dir das an: http://StackOverflow.com/a/2063500/7334173 – Tolios
Das hat funktioniert, danke ... So ein dummer Fehler. – simplepickup