Hi Leute,
ich habe vor eine "soziale Seite/Netzwerk" zu machen für ehemalige Schüler.
Nun habe ich unter dem Profil einer Person einen Freundschafts-Button eingefügt, der eine XH-Request an den Server schickt. Per Post wird die ID des Betrachteten übermittelt.
Per Session wird die eigene ID abgerufen.
Der Server trägt die Freundschaftsanfrage ordnungsgemäß in die DB ein. (Bei Erfolg wird "OK" ausgegeben, wenn die Freundschaft bereits angefragt wurde oder besteht, wird "ERR" ausgegeben.
Nun das Problem: ich habe auch schon alert(z) angegeben, es gibt auch 'OK' aus, aber trotzdem springt der in der if-Abfrage immer zum else... Ich bin am Verzweifeln.
Kann es sein, dass die Kodierung der Dateien eine Rolle spielt?
parser/friend.php:
<?php include_once '../includes/protected.php';
if(isset($_POST["id"]) && is_numeric($_POST["id"])) {
include_once '../includes/db.php';
$u = mysqli_real_escape_string($conn, $_SESSION['id']);
$id = mysqli_real_escape_string($conn, $_POST['id']);
$sql = "SELECT * FROM {$dbpfx}friends WHERE (user1='$u' AND user2='$id') OR (user1='$id' AND user2='$u') LIMIT 1";
$erg = mysqli_query($conn, $sql) or die(mysqli_error($conn));
if(mysqli_num_rows($erg) > 0) {
echo 'ERR';
exit;
} else {
$sql = "INSERT INTO {$dbpfx}friends (id, user1, user2, accepted) VALUES (NULL, $u, $id, 0)";
mysqli_query($conn, $sql);
echo "OK";
exit;
}
}
?>
profile.php:
<hr />
<button id="friend">Freundschaft anfragen</button>
<script type="text/javascript">
_("friend").addEventListener("click", friend, false);
function friend() {
var id = <?php echo $erg["id"]; ?>;
var a = new Ajax("POST", "parser/friend.php", function(z) {
if(z=="OK") {
alert('Freundschaftsanfrage an <?php echo $erg["vorname"]; ?> gesendet.');
_("friend").innerHTML = 'Freundschaft beenden';
_("friend").removeEventListener("click", friend, false);
//_("friend").addEventListener("click", unfriend, false);
} else {
alert('Ein Fehler ist aufgetreten.\nDas tut uns leid.');
}
});
a.send("id="+encodeURI(id));
}
</script>
PS: _(x) = Meine Kurzform für document.getElementById(x)