mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 10:44 Benutzername: Passwort: Auto-Login

Thema: [PHP] E-Mail in DB vom 11.03.2004


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] E-Mail in DB
Autor Nachricht
spooky
Threadersteller

Dabei seit: 28.11.2002
Ort: Rheinhessen/Schwaben
Alter: 40
Geschlecht: Männlich
Verfasst Do 11.03.2004 13:20
Titel

[PHP] E-Mail in DB

Antworten mit Zitat Zum Seitenanfang

Hallo Leuts,

ich will mit unten anghängtem PHP-Script eine E-Mailadresse aus nem SWF übernehmen.
Score und Name werden in DB übernommen, aber die E-mail wir dnicht eingetragen. Was hab ich falsch gemacht?

Code:

<?

/*********************************************************************

connect to db

**********************************************************************/
$dbhost   = localhost;
$dbuser   = meineseite.de;
$dbpass   = meineseite.de;
$dbname  = meineseite.de;

$table   = meineseite;


$dbcon = mysql_connect($dbhost,$dbuser,$dbpass);

if ($dbcon < 0) {echo error can't connect to db!\n; die();}

mysql_select_db($dbname,$dbcon);

/*********************************************************************/



// Daten speichern ------------------------------------

if ( $name !=  and $punkte != 0 and $keyid and $email != > 0) {

   if ($punkte == ((($keyid/3)-11)/7)-13){
   
      $sql = SELECT id,score FROM $table WHERE name = ' . $name . ' ORDER BY SCORE LIMIT 1;
      $result = mysql_query($sql,$dbcon) OR mail(webmaster@meineseite.de, $table, $sql\n.mysql_error());
      $ID = @mysql_result($result, 0,0);
      $Score = @mysql_result($result, 0,1);
      @mysql_free_result($result);
      
      if ($ID AND $Score < $punkte) {
         $sql = UPDATE $table SET score = ' . $punkte . ' WHERE id = ' . $ID . ' ;
         $result = mysql_query($sql,$dbcon) OR mail(webmaster@meineseite.de, $table, $sql\n.mysql_error());
      } else if (!$ID) {
         $sql = INSERT IGNORE INTO $table SET name = ' . $name . ', score = ' . $punkte . ' ;
          $result = mysql_query($sql,$dbcon) OR mail(webmaster@meineseite.de, $table, $sql\n.mysql_error());
      } else if (!$ID) {
         $sql = INSERT IGNORE INTO $table SET email = ' . $email . ', email = ' . $name . ' ;
          $result = mysql_query($sql,$dbcon) OR mail(webmaster@meineseite.de, $table, $sql\n.mysql_error());
      }
    } else {

       mail(webmaster@meineseite.de, $table, Key: $keyid, Punkte: $punkte);

    }

}





// Daten auslesen -------------------------------------

$sql = SELECT * FROM $table ORDER BY score DESC LIMIT 15;

$erg = mysql_query($sql);



$i = 1;

if (mysql_num_rows($erg)>0){

   while ($res = mysql_fetch_array($erg)){

       echo name$i=$res[name];

       echo score$i=$res[score];

        $i++;

    }

}

?>
  View user's profile Private Nachricht senden
Sarky

Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht: Männlich
Verfasst Do 11.03.2004 13:28
Titel

Antworten mit Zitat Zum Seitenanfang

Wirf mal einen genauern Blick auf diesen Teil Deines Codes

Code:

if ($ID AND $Score < $punkte)
{
    $sql = UPDATE $table SET score = ' . $punkte . ' WHERE id = ' . $ID . ' ;
    $result = mysql_query($sql,$dbcon) OR mail(webmaster@meineseite.de, $table, $sql\n.mysql_error());
}
else
if (!$ID)
{
    $sql = INSERT IGNORE INTO $table SET name = ' . $name . ', score = ' . $punkte . ' ;
    $result = mysql_query($sql,$dbcon) OR mail(webmaster@meineseite.de, $table, $sql\n.mysql_error());
}
else
if (!$ID)
{
    $sql = INSERT IGNORE INTO $table SET email = ' . $email . ', email = ' . $name . ' ;
    $result = mysql_query($sql,$dbcon) OR mail(webmaster@meineseite.de, $table, $sql\n.mysql_error());
}


Du fragst hier 2 Mal (!) nach den selben Bedingungen ab, daher landest Du logischerweise immer im ersten der beiden Else-Zweige da die Bedingung erfüllt ist. Dort wiederum trägst Du $email gar nicht in die Datenbank ein! Der zweite Else-Zweig wird nie erreicht.

Zudem hast Du noch einen Fehler im zweiten Teil, Du setzt zweimal hintereinander einen Wert für das Feld "email", zuerst den Inhalt von $email und dann sofort darauf den Wert von $name.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 11.03.2004 14:15
Titel

Antworten mit Zitat Zum Seitenanfang

lass dir doch einfach mal $sql ausgeben und du siehst schon was er für werte
in die email übernimmt ...

zudem glaub ich das zweite !$ID wohl eher $Score heissen sollte *zwinker*
  View user's profile Private Nachricht senden
 
Ähnliche Themen HTML-E-Mail | Textumbrüche bei einem langen E-Mail-Text
Mail via Php
[php] mail
BCC mail mit php
PHP Mail bei AOL geblockt
newsletter mit mail () ?
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.