Abfrage ob Benutzer vorhanden, falls ja Beitrag eintragen wie vereinfachen ?

spikaner

Quereinsteiger @ php
Ich will mithilfe eines Formulars herausfinden ob der Benutzer in der DB existiert und falls ja seine ID auslesen, momentan habe ich folgenden code
PHP:
        If (isset ($_POST['absenden']))
        {
            // überrüfen ob User verhanden
            $abfrage = mysql_query("SELECT * from benutzerdaten where lower(Nickname) = '" . strtolower($_POST['empfaenger']) . "'");
            $anzahl = mysql_num_rows($abfrage);
            if($anzahl > 0)
            {
                $fehlertext = "Username existiert nicht";
                $zurueckbutton = "./index.php?ac=nachrichten";
                include("error.php");
                die;
            }
            else
            {
            // wenn ja benutzer ID auslesen
                $query_string = "SELECT Id FROM benutzerdaten WHERE lower(Nickname) = '".strtolower($_POST['empfaenger'])."'";
                $result = mysql_query($query_string);
                $result1 = mysql_fetch_array($result);
            }
// wenn vorhanden eintragen
$sql_query_string = " etc....
meine Frage jetzt, kann man das ganze vereifachen auf 1 query, wenn ja wie ?

mfg Spikaner
 
PHP:
if(isset($_POST['absenden'])
{
  $query = "SELECT `Id` 
        FROM `benutzerdaten` 
        WHERE lower(`Nickname`) = '".mysql_real_escape_string(strtolower($_POST['empfaenger']))."'";
  $result = mysql_query($query);
  if(!($row = mysql_fetch_assoc($result)))
  {
    // Benutzer nicht vorhanden
  }
  else
  {
    echo $row['Id'];
  }
}

So in dieser RIchtung könnte es aussehen.
 
@Gumbo der Datentyp ist die Id (autoincrement) aus der tabelle benutzerdaten.. sprich die sender und empfängerid sind jeweils die Id aus der Tabelle benutzerdaten da ich das empfangen / löschen script bereits fertig habe will ich das auch nicht unbedingt nochmal "umschmeissen"
mom schaut das ganze so aus
PHP:
<?php
If (isset ($_GET['pm']))
{
    $pm = $_GET['pm']; // wie alle GET/POST später noch absichern... 
    If ($pm == "schreiben")
    {
        If (isset ($_POST['absenden']))
        {
            // überrüfen ob user verhanden
            $abfrage = mysql_query("SELECT * from benutzerdaten where lower(Nickname) = '" . strtolower($_POST['empfaenger']) . "'");
            $anzahl = mysql_num_rows($abfrage);
            if($anzahl > 0)
            {
                $fehlertext = "Username existiert nicht";
                $zurueckbutton = "./index.php?ac=nachrichten";
                include("error.php");
                die;
            }
            else
            {
            // wenn ja benutzer ID auslesen
                $query_string = "SELECT Id FROM benutzerdaten WHERE lower(Nickname) = '".strtolower($_POST['empfaenger'])."'";
                $result = mysql_query($query_string);
                $result1 = mysql_fetch_array($result);
            }
// wenn vorhanden eintrag... 
// $sql_query_string = "

// INSERT INTO nachrichten (

        }
    }
    If ($pm == "anzeigen")
    {
        $id = $_GET['id']; // wie alle GET später noch absichern... 
        $sql_query_string = "SELECT senderid,empfid,timestamp,betreff,nachricht FROM nachrichten WHERE id like'".$id."'";
        $result = mysql_query($sql_query_string);
        $nachricht = mysql_fetch_array($result);
        If ($nachricht["empfid"] == $_SESSION['user_id'])
        {
        // ausgabe in nachrichten.php
        // gleich als gelesen makieren
           $query_string = "SELECT Nickname FROM benutzerdaten WHERE Id like '".$nachricht["senderid"]."'";
           $result1 = mysql_query($query_string);
           $result2 = mysql_fetch_array($result1);
           $sql_query_string1 = "UPDATE nachrichten SET gelesen = '1' WHERE id = '".$id."'";
           mysql_query($sql_query_string1) or die('query fehlgeschlagen'); 
        }
        else
        {
        // Fehlerseite + adminlog gleich hier.. 
            $fehlertext = "Du hasst eben versucht eine Nachricht eines anderen Users aufzurufen !!.";
            $zurueckbutton = "./index.php?ac=nachrichten";
            include("error.php");
            die;
        }
    }
    elseif ($pm == "verwalten")
    {
        IF (!isset ($_POST['loeschen']))
        {
            $sql_query_string = "SELECT id,senderid,timestamp,betreff FROM nachrichten WHERE empfid like'".$_SESSION["user_id"]."' AND gelesen like'1'";
            $ergebnis = mysql_query($sql_query_string);
            $i=0;
            while($nachrich=mysql_fetch_array($ergebnis))
            {
                 $query_string = "SELECT Nickname FROM benutzerdaten WHERE Id like '".$nachrich["senderid"]."'";
                 $result = mysql_query($query_string);
                 $result1=mysql_fetch_array($result);
                 $nachricht[$i][0] = $nachrich['id'];
                 $nachricht[$i][1] = $result1['Nickname'];
                 $nachricht[$i][2] = $nachrich['timestamp'];
                 $nachricht[$i][3] = $nachrich['betreff'];
                 $i++;
            }
        }
        IF (isset ($_POST['loeschen']))
        {
            foreach($_POST['del'] as $box)
            {
                $sql = "DELETE FROM nachrichten WHERE id= '".$box."'" ; 
                mysql_query($sql); 
            }
            $sql_query_string = "SELECT id,senderid,timestamp,betreff FROM nachrichten WHERE empfid like'".$_SESSION["user_id"]."' AND gelesen like'1'";
            $ergebnis = mysql_query($sql_query_string);
            $i=0;
            while($nachrich=mysql_fetch_array($ergebnis))
            {
                 $query_string = "SELECT Nickname FROM benutzerdaten WHERE Id like '".$nachrich["senderid"]."'";
                 $result = mysql_query($query_string);
                 $result1=mysql_fetch_array($result);
                 $nachricht[$i][0] = $nachrich['id'];
                 $nachricht[$i][1] = $result1['Nickname'];
                 $nachricht[$i][2] = $nachrich['timestamp'];
                 $nachricht[$i][3] = $nachrich['betreff'];
                 $i++;
            }
        }
    }
    else
    {
        $sql_query_string = "SELECT id,senderid,timestamp,betreff FROM nachrichten WHERE empfid like'".$_SESSION["user_id"]."' AND gelesen like'0'";
        $ergebnis = mysql_query($sql_query_string);
        $i=0;
        while($nachrich=mysql_fetch_array($ergebnis))
        {
             $query_string = "SELECT Nickname FROM benutzerdaten WHERE Id like '".$nachrich["senderid"]."'";
             $result = mysql_query($query_string);
             $result1=mysql_fetch_array($result);
             $nachricht[$i][0] = $nachrich['id'];
             $nachricht[$i][1] = $result1['Nickname'];
             $nachricht[$i][2] = $nachrich['timestamp'];
             $nachricht[$i][3] = $nachrich['betreff'];
             $i++;
        }
    }
}
else
{
    $sql_query_string = "SELECT id,senderid,timestamp,betreff FROM nachrichten WHERE empfid like'".$_SESSION["user_id"]."' AND gelesen like'0'";
    $ergebnis = mysql_query($sql_query_string);
    $i=0;
    while($nachrich=mysql_fetch_array($ergebnis))
    {
        $query_string = "SELECT Nickname FROM benutzerdaten WHERE Id like '".$nachrich["senderid"]."'";
        $result = mysql_query($query_string);
        $result1=mysql_fetch_array($result);
        $nachricht[$i][0] = $nachrich['id'];
        $nachricht[$i][1] = $result1['Nickname'];
        $nachricht[$i][2] = $nachrich['timestamp'];
        $nachricht[$i][3] = $nachrich['betreff'];
        $i++;
    }

}
?>
hoffe ich habe Dich richtig verstanden.

mfg Spikaner
 
Zuletzt bearbeitet:
Zurück