Mailbox

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Mailbox

Beitrag 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
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag 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
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Dann markier die KOmmentare am Anfang mit // oder # :roll:

sonst erkennt das kein Mensch denn // und # sind auch in PHP Kommentare
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag 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...
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

sinnvoll wäre mal, mir zu helfen anstatt zu spamen
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag 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
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Antworten

Zurück zu „Coding & Technik“