mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mo 07.07.2008 02:08 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


Dabei seit: 28.11.2002
Ort: Rheinhessen/Schwaben
Alter: 24
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
Moderator

Dabei seit: 29.06.2002
Ort: Stuttgart
Alter: 26
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 E-Mail senden Website dieses Benutzers besuchen
dastef
Moderator

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 E-Mail senden
 
Ähnliche Themen [php] mail
BCC mail mit php
[PHP] Probs mit mail()
E-Mail Validierung in PHP
mail formular mit php
[php] problem 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 deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.