• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

User abfrage und dann Nachrichtenfunktion

TobiasBohn

Neues Mitglied
Hallo Communty,
ich habe da ein kleines Problem.
Wahrscheinlich ist es nur ein kleines Problem, doch derzeit finde ich Ihn nicht.

Also die Nachrichtenfunktion geht so:
Zuerst frage ich wie der User heißt (bisher keine Kontrolle ob es den User gibt, aber das ist ok) danach erscheint das Formular wo die Nachricht selbst stattfindet. Und hier ist irgendwo der Fehler. Es wird keine Nachricht eingetragen. Und ja, der Code hat massive Schönheitsfehler, doch diese werde ich noch ändern. Ich möchte nur, dass das Formular auch richtig arbeitet.
Ich hoffe Ihr könnt mir helfen.
PHP:
// WIR FRAGEN NACH DEM USER NAME
$function = $_GET['function']; 
 
if ($function != "add" or $function != "added") 
{ 
// ZEIGE ENGABEFELD AN 
echo "
        <form method=\"post\" action=\"nachricht_write.php?function=add\">
            <input type=\"text\" name=\"empf\" size=\"10\" value=\"Gamertag\" onfocus=\"if(value == 'Gamertag'){value=''};\" onblur=\"if(value== ''){value='Gamertag'}\" />
            <input type=\"submit\" value=\"Weiter\">
        </form>";
} 
 
// USER SPEICHERN 
if ($function == "add") 
{ 
$empf = $_POST['empf']; 
// PRÜFE OB USER NICHT NULL IST 
if ($empf == "") 
{ 
// USER IST NULL -> LEITE UM 
echo "<meta http-equiv=\"refresh\" content=\"0; URL=nachricht_write.php?function=add\">  "; 
} 
else 
{
    // USER ABFRAGEN WEGEN DER ID 
$empfabfrage = "SELECT * FROM member WHERE member_name='$empf'";
$empfergebnis =mysql_query ($empfabfrage);
while ($empfrow = mysql_fetch_object ($empfergebnis))
{
    $empf_id = $empfrow->member_id;
    $empf_name = $empfrow->member_name;
 
// FERTIG -> NUN DAS NEUE FORMULAR 
echo "    <form method=\"post\" action=\"nachricht_write.php?function=added&to=$empf_id\">
        <input type=\"text\" name=\"betreff\" value=\"betreff\" class=\"felder\" size=\"10\"><br />
        <textarea name=\"nachricht\" rows=\"2\" cols=\"30\"></textarea><br /> 
    <input name=\"add\" type=\"submit\" id=\"add\" value=\"Aktualisieren\"> 
    </form> 
    </div> 
"; 
}
}
} 
// NACHRICHT SPEICHERN 
if ($function == "added") 
{
    $betreff = $_POST['betreff'];
    $nachricht = $_POST['nachricht']; 
    $to = $_GET['to']; 
     
     
// PRÜFE OB NACHRICHT NICHT NULL IST 
if ($nachricht == "") 
{ 
// NACHRICHT IST NULL -> LEITE UM 
echo "<meta http-equiv=\"refresh\" content=\"0; URL=nachricht_write.php?function=added\">  "; 
} 
else 
{ 
// HOLE AKTUELLE ID AUS VEREIN 
$nachrichtidabfrage = "SELECT nachricht_id FROM nachricht ORDER BY nachricht_id DESC LIMIT 1"; 
$nachrichtidergebnis = mysql_query($nachrichtidabfrage); 
while ($nachrichtidrow = mysql_fetch_object ($nachrichtidergebnis)) 
{ 
$newnachrichtid = $nachrichtidrow->nachricht_id +1; 
$date = date("Y-m-d",$timestamp); 
$time = date("H:i:s",$timestamp);
$von_id = $_SESSION["user_id"];
$von_name = $_SESSION["user_name"];
$neunachricht = htmlspecialchars("$nachricht", ENT_QUOTES);
$neubetreff = htmlspecialchars("$betreff", ENT_QUOTES); 
} 
 
// SCHREIBE NUN IN NACHRICHT REIN 
$newnachrichtsql = "INSERT INTO nachricht (nachricht_id, nachricht_von_id, nachricht_von_name, nachricht_an_id, nachricht_an_name, nachricht_betreff, nachricht_text, nachricht_date, nachricht_time, nachricht_view) 
VALUES ('$newnachrichtid', '$von_id', '$von_name', '$to', '$toname', '$neubetreff', '$neunachricht', '$date', $time', '0')";
 
echo "Gesendet<br />$newnachrichtid', '$von_id', '$von_name', '$to', '$empf_name', '$neubetreff', '$neunachricht', '$date', $time', '0'"; 
} 
}
 
mysql_close()
 
Zuletzt bearbeitet:
alter ich kriege augenkrebs :( sry aber seit zeile 25 tun mir die glubscher weh.

Einrücken wäre nice und ich empfehle dir sowas -> echo " <form method=\"post\" action=\"nachricht_write.php?function=added&to=$empf_id\">
zu unterlassen

guck ma so is es viel schöner -> echo '<form method="post" action="nachricht_write.php?function=added&to='.$empf_id.'"'>

ich geh duschen dann kann ich wieder drauf gucken


gib ma das sql statement mich echo aus und probier das statement mal direkt aus und fehlerausgabe schadet auch nit 'mysql_error()'
 
Zuletzt bearbeitet:
Zurück
Oben