Moin moin,
ich brauche für ein Mailscript eine Freundesabfrage.
Fakten:
Username kann doppelt vorkommen daher abfrage nach user_id
Eigene user id ist gespecihert in: $_SESSION['uid']
---------------------------------------------------------------------
wenn ich in dem Mail sende Formular den Empfänger Nick eingebe, dann soll darunter ein Fenster mit den Freunden aufgehen.
Die Scripte (relevante Ausschnitte):
Formular:
userchk.js:
userchk.php:
Nun zu dem Problem:
Wie soll ich die Freundes abfrage machen?
Meine Gedanken waren das ich eine db abfrage mache, dazu eine tabelle mit folgendem aufbau:
íd | user1 | user2
Wenn ich dieses Umsetze komme ich zum nächsten Problem:
Wenn User xxx eine freundschaft mit user yyy schließt müsste müsste ich ich die DB abfrage in beide Richtungen führen, oder aber die einträge doppelt machen (ich hoffe Ihr wisst was ich meine).
Kurz:
Was ist die Sinnvollste Art um das umzusetzen?
glg
ich brauche für ein Mailscript eine Freundesabfrage.
Fakten:
Username kann doppelt vorkommen daher abfrage nach user_id
Eigene user id ist gespecihert in: $_SESSION['uid']
---------------------------------------------------------------------
wenn ich in dem Mail sende Formular den Empfänger Nick eingebe, dann soll darunter ein Fenster mit den Freunden aufgehen.
Die Scripte (relevante Ausschnitte):
Formular:
HTML:
<head>
<script type="text/javascript" src="js/userchk.js"></script>
</head>
<form name="send_mail" method="post" action="index.php?sub=mail&msub=maus&opt=send">
<table width="450px">
<tr>
<td>Empfänger: <input type="text" maxlength="15" name="emp_user" onBlur="userchk();"></td>
</tr>
<tr>
<td>Betreff: <input type="text" maxlength="15" name="betreff"></td>
</tr>
<tr>
<td><textarea cols="50" rows="8" name="mail"></textarea></td>
</tr>
<tr>
<td align="right"><input type="submit" value="senden"></td>
</tr>
</table>
</form>
userchk.js:
HTML:
// <![CDATA[
var P91 = null;
// Initialisieren
function userchk_system(){
if (window.XMLHttpRequest) {
P91 = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
P91 = new ActiveXObject("Msxml2.XMLHTTP");
} catch (ex) {
try {
P91 = new ActiveXObject("Microsoft.XMLHTTP");
} catch (ex) {
}
}
}
}
// Statusabfrage
function userchk_heuri() {
if (P91.readyState == 4) {
var heurix = document.getElementById("userchk");
heurix .innerHTML = P91.responseText;
}
}
// Aufrufen
function userchk() {
var pas = document.getElementById("username").value; // Name vom Formularfeld, in diesen Fall "username"
var heurix = document.getElementById("userchk");
heurix .innerHTML = '<img src="loading.gif" alt="Lade..." />'; // Lade Grafik
P91.open("GET", "userchk.php?usernamecheck=" + pas); // Daten holen
P91.onreadystatechange = userchk_heuri;
P91.send(null);
}
// Script laden
var heurix = userchk_system();
// ]]>
userchk.php:
PHP:
<?php
if (isset($_GET['usernamecheck'])) {
$usernamecheck = trim(htmlspecialchars($_GET['usernamecheck'], ENT_QUOTES, "UTF-8"));
// Hier fehlt die db abfrage
$arraypas = array();
if(!in_array($usernamecheck, $arraypas)){
echo ' <span style="color:red">Kein Freund mit diesem Namen</span>';
}else{
echo ' <span style="color:#006600">Liste mit allen in Frage kommenden Usern</span>';
}
}
?>
Nun zu dem Problem:
Wie soll ich die Freundes abfrage machen?
Meine Gedanken waren das ich eine db abfrage mache, dazu eine tabelle mit folgendem aufbau:
íd | user1 | user2
Wenn ich dieses Umsetze komme ich zum nächsten Problem:
Wenn User xxx eine freundschaft mit user yyy schließt müsste müsste ich ich die DB abfrage in beide Richtungen führen, oder aber die einträge doppelt machen (ich hoffe Ihr wisst was ich meine).
Kurz:
Was ist die Sinnvollste Art um das umzusetzen?
glg