Seite 1 von 1

Mailbox

Verfasst: 01.09.2005 13:49
von witzigerkiller
Hallo Leute, ich habe mal versucht eine Mailbox also ein pn script zu coden. es funktioniert alles wunderbar, aber aus irgendeinem grund gibt er mir die meldung aus, das keine nachrichten vorhanden sind.

DIe Session´s habe ich kontrolliert an denen finde ich kein fehler, datenbank stimmt auch alles, also muss ich mir denken das ich was falsch gecodet habe, oder es an dem Select * FROM Mailbox where Empfanger = '".$_SESSION['Wrestler']."' AND Gelesen = 'Nein'

liegen muss.

Erstmal wie die sessions registriert werden:

Code: Alles auswählen

$_SESSION['Status'] = $daten['Status']; = immer member
                         $_SESSION['ID'] = $daten['id'];  = id
                         $_SESSION['Wrestler'] = $daten['Wrestler']; = benutzername
                         $_SESSION['Passwort'] = $daten['Passwort']; = pw
                         $_SESSEION['IP'] = $REMOTE_ADDR; = ip
dann die tabellen struktur für user:

Code: Alles auswählen

-- Tabellenstruktur für Tabelle `User`
-- 

CREATE TABLE `User` (
  `id` tinyint(3) NOT NULL auto_increment,
  `Vorname` varchar(40) default NULL,
  `Mail` varchar(40) default NULL,
  `Passwort` varchar(40) default NULL,
  `Wrestler` varchar(40) default NULL,
  `Grosse` varchar(40) default NULL,
  `Gewicht` varchar(40) default NULL,
  `Typ` varchar(40) default NULL,
  `Herkunft` varchar(40) default NULL,
  `Wahrung` varchar(40) default NULL,
  `Status` varchar(40) default NULL,
  `Guthaben` varchar(40) default NULL,
  `Punkte` varchar(40) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;

-- 
-- Daten für Tabelle `User`
-- 

INSERT INTO `User` VALUES (1, 'Tobias', 'witzigerkiller@aol.com', 'tobias1', 'Witzigerkiller', '1,90m', '210kg', 'Techniker', 'Südafrika', 'Euro(€)', 'member', '10.000', '0');
INSERT INTO `User` VALUES (2, 'Tsds', 'witzigerkiller@aol.com', 'tobias1', 'Harry', '1,60m', '80kg', 'Techniker', 'Argentinien', 'Euro(€)', 'member', '10.000', '5');
INSERT INTO `User` VALUES (3, 'Martin', 'hitmanrocket@aol.com', 'germany', 'Hitman', '1,85m', '130kg', 'Techniker', 'Kanada', 'Euro(€)', 'member', '10.000', '0');
dann tabellenstruktur Mailbox

Code: Alles auswählen

-- Tabellenstruktur für Tabelle `Mailbox`
-- 

CREATE TABLE `Mailbox` (
  `id` tinyint(3) NOT NULL auto_increment,
  `Empfanger` varchar(40) default NULL,
  `Absender` varchar(40) default NULL,
  `Betreff` varchar(40) default NULL,
  `Nachricht` text,
  `Gelesen` varchar(40) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;

-- 
-- Daten für Tabelle `Mailbox`
-- 

INSERT INTO `Mailbox` VALUES (1, 'Harry', 'Witzigerkiller', 'Test', 'Testmode', 'Nein');
INSERT INTO `Mailbox` VALUES (2, 'Hitman', 'Witzigerkiller', 'Test', 'Testmode', 'Nein');
INSERT INTO `Mailbox` VALUES (3, 'Witzigerkiller', 'Harry', 'Test', 'Testmode', 'Nein');
INSERT INTO `Mailbox` VALUES (4, 'Hitman', 'Harry', 'Test', 'Testmode', 'Nein');
INSERT INTO `Mailbox` VALUES (5, 'Witzigerkiller', 'Hitman', 'Test', 'Testmode', 'Nein');
INSERT INTO `Mailbox` VALUES (6, 'Harry', 'Hitman', 'Test', 'Testmode', 'Nein');
INSERT INTO `Mailbox` VALUES (7, 'Hitman', 'Hitman', 'tobias', 'dkgdsfjöffdfdfsdfdfdfsf', 'Nein');
und dann noch das script zum auslesen der posts:

Code: Alles auswählen

<center><h5>Mailbox</h5><br /><br />
<a href="index.php?show=Mailbox&function=lesen">Nachrichten lesen</a> | 
<a href="index.php?show=Mailbox&function=schreiben">Nachrichten schreiben</a><br /><br />

<?PHP
$server= "xxx"; 
$benutzer= "xxxx"; 
$kennwort= "xxxxx"; 
$verbindung= mysql_connect($server, $benutzer, $kennwort); 
mysql_select_db("DB121321"); 

 if ($_SESSION['Status'] == "member" OR $_SESSION['Status'] == "admin") 
 {
    if ($_GET['function'] == "lesen") 
    {
       $nachricht = "SELECT * FROM `Mailbox` WHERE `Empfanger` = '".$_SESSION['Wrestler']."'  
                     AND `Gelesen` = 'Nein' ";
       $eingangneu = mysql_query($nachricht);
       
       if (mysql_num_rows($eingangneu) == 1) 
       {
           while ($ausgabe = mysql_fetch_assoc($eingangneu)) 
           {
              echo "<h5>Neue Nachrichten!</h5><br />
                    <table>
                     <tr>
                      <td><b>Absender:</b></td>
                      <td width=30>&nbsp;</td>
                      <td><b>Betreff:</b></td>
                     </tr>
                     <tr>
                      <td><b>".$ausgabe['Absender']."</b></td>
                      <td width=30>&nbsp;</td>
                      <td><b><a href=index.php?show=lesen&id=".$ausgabe['id'].">".$ausgabe['Betreff']."</a></b></td>
                     </tr>
                    </table><br /><br />";
                      
           }
           
       }
       else
       {
       echo "<font color='red'>Keine neuen Nachrichten!</font>";
       }
       
       $nachricht2 = "SELECT * FROM Mailbox WHERE Empfanger = '".$_SESSION['Wrestler']." '  
                     AND Gelesen = 'Ja' ";
       $eingangneu2 = mysql_query($nachricht2);
       
       if (mysql_num_rows($eingangneu2) == 1) 
       {
           while ($ausgabe = mysql_fetch_assoc($eingangneu2)) 
           {
              echo "<h5>Alte Nachrichten!</h5><br />
                    <table>
                     <tr>
                      <td><b>Absender:</b></td>
                      <td width=30>&nbsp;</td>
                      <td><b>Betreff:</b></td>
                     </tr>
                     <tr>
                      <td><b>".$ausgabe['Absender']."</b></td>
                      <td width=30>&nbsp;</td>
                      <td><b><a href=index.php?show=lesen&id=".$ausgabe['id'].">".$ausgabe['Betreff']."</a></b></td>
                     </tr>
                    </table><br /><br />";
                      
           }
           
       }
       else
       {
       echo "<font color='red'>Keine alten Nachrichten!</font>";
       }              
    }
    else
    {
        if ($_GET['function'] == "schreiben")
        {
            echo "<form action=# method=post>
                 <table>
                  <tr>
                   <td>An:</td>
                   <td><input type=text name=Empfanger size=20 maxlength=40 /></td>
                  </tr>
                  <tr>
                   <td>Betreff:</td>
                   <td><input type=text name=Betreff size=20 maxlength=40 /></td>
                 </tr>
                 <tr>
                  <td>Nachricht:</td>
                  <td>&nbsp;</td>
                 </tr>
                 <tr>
                  <td colspan=2><textarea name=Nachricht cols=25 rows=6></textarea></td>
                 </tr>
                 <tr>
                  <td><input type=submit name=Senden value=Senden /></td>
                  <td align=right><input type=reset name=Loschen value=L&ouml;schen /></td>
                 </tr>
                </table>
                </form>";
             if (isset($_POST['Senden'])) 
             {
                if (empty($_POST['Empfanger']) OR empty($_POST['Betreff']) 
                    OR empty($_POST['Nachricht']))
                {
                    echo "<font color='red'>Du musst schon alles Ausf&uuml;llen!</font>";
                }
                else
                {
                    $sql = "SELECT * FROM User WHERE Wrestler = '".$_POST['Empfanger']." '  ";
                    $abfrage = mysql_query($sql);
                    if (mysql_num_rows($abfrage) == 1) 
                    {
                        $meintrag = "Insert Into Mailbox (id,Empfanger, Absender, Betreff,
                                     Nachricht, Gelesen) values ('','".$_POST['Empfanger']."',
                                     '".$_SESSION['Wrestler']."','".$_POST['Betreff']."',
                                     '".nl2br($_POST['Nachricht'])."','Nein')";
                                  
                        if (mysql_query($meintrag)) 
                        {
                            echo "Nachricht wurde Erfolgreich verschickt!";
                        }
                        else
                        {
                            echo "<font color='red'>Nachricht wurde <b><u>nicht</u>
                                  Erfolgreich</b> verschickt!</font>";
                        }
                    }
                    else
                    {
                        echo "<font color='red'>Gew&uuml;nschter Empf&auml;nger ist nicht
                              vorhanden!</font>";
                    }
                }
             }
        }
        else
        {
       $nachricht = "SELECT * FROM Mailbox WHERE Empfanger = '".$_SESSION['Wrestler']." '  
                     AND Gelesen = 'Nein' ";
       $eingangneu = mysql_query($nachricht);
       
       if (mysql_num_rows($eingangneu) == 1) 
       {
           while ($ausgabe = mysql_fetch_assoc($eingangneu)) 
           {
              echo "<h5>Neue Nachrichten!</h5><br />
                    <table>
                     <tr>
                      <td><b>Absender:</b></td>
                      <td width=30>&nbsp;</td>
                      <td><b>Betreff:</b></td>
                     </tr>
                     <tr>
                      <td><b>".$ausgabe['Absender']."</b></td>
                      <td width=30>&nbsp;</td>
                      <td><b><a href=index.php?show=lesen&id=".$ausgabe['id'].">".$ausgabe['Betreff']."</a></b></td>
                     </tr>
                    </table><br /><br />";
                      
           }
           
       }
       else
       {
       echo "<font color='red'>Keine neuen Nachrichten!</font>";
       }
       
       $nachricht2 = "SELECT * FROM Mailbox WHERE Empfanger = '".$_SESSION['Wrestler']." '  
                     AND Gelesen = 'Ja' ";
       $eingangneu2 = mysql_query($nachricht2);
       
       if (mysql_num_rows($eingangneu2) == 1) 
       {
           while ($ausgabe = mysql_fetch_assoc($eingangneu2)) 
           {
              echo "<h5>Alte Nachrichten!</h5><br />
                    <table>
                     <tr>
                      <td><b>Absender:</b></td>
                      <td width=30>&nbsp;</td>
                      <td><b>Betreff:</b></td>
                     </tr>
                     <tr>
                      <td><b>".$ausgabe['Absender']."</b></td>
                      <td width=30>&nbsp;</td>
                      <td><b><a href=index.php?show=lesen&id=".$ausgabe['id'].">".$ausgabe['Betreff']."</a></b></td>
                     </tr>
                    </table><br /><br />";
                      
           }
           
       }
       else
       {
       echo "<font color='red'>Keine alten Nachrichten!</font>";
       }
        }
    }
 }
 else
 {
    echo "<font color='red'>Du bist nicht eingeloggt!</font>";
 }
mysql_close($verbindung);
?>
Hoffe jemand schaut sich das an, und findet den fehler

Verfasst: 01.09.2005 14:51
von D@ve
Ohne die Sache jetzt genaure unter die Lupe genommen zu haben, sollte Dir DIESER...

Code: Alles auswählen

$_SESSION['Status'] = $daten['Status']; = immer member
                         $_SESSION['ID'] = $daten['id'];  = id
                         $_SESSION['Wrestler'] = $daten['Wrestler']; = benutzername
                         $_SESSION['Passwort'] = $daten['Passwort']; = pw
                         $_SESSEION['IP'] = $REMOTE_ADDR; = ip
Quelltext einige Syntax-Fehler liefern. Ich verstehe auch nicht wieso Du ohne Ausnahme alle Vokabeln groß schreibst. Damit baust Du Dir irgendwann mit Sicherheit einen Fehler ein nach dem Du SEHR lange suchen wirst. Nicht alles ist nämlich in PHP case-ínsensitiv...

Gruß, Dave

Verfasst: 01.09.2005 17:34
von witzigerkiller
was siehst du denn für syntax fehler in den sessions?

das nach dem ; =id und so, das sollte nur eine erklärung für euch sein, das ihr wisst, was ich da als session speicher

Verfasst: 01.09.2005 18:19
von fanrpg
Dann markier die KOmmentare am Anfang mit // oder # :roll:

sonst erkennt das kein Mensch denn // und # sind auch in PHP Kommentare

Verfasst: 01.09.2005 20:06
von D@ve
fanrpg hat geschrieben:Dann markier die KOmmentare am Anfang mit // oder # :roll:

sonst erkennt das kein Mensch denn // und # sind auch in PHP Kommentare
Wäre sinnvoll...

Verfasst: 01.09.2005 20:44
von witzigerkiller
sinnvoll wäre mal, mir zu helfen anstatt zu spamen

Verfasst: 03.09.2005 11:09
von witzigerkiller
weis keiner weiter?

Also ich weiß bis jetzt soviel, das die roten echos nur kommen, wenn man selber an sich nachrichten schickt, dann kommen die roten echos, aber das darf nicht sein