Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
spooky
Threadersteller
Dabei seit: 28.11.2002
Ort: Rheinhessen/Schwaben
Alter: 40
Geschlecht:
|
Verfasst Do 11.03.2004 13:20
Titel [PHP] E-Mail in DB |
|
|
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++;
}
}
?> |
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Do 11.03.2004 13:28
Titel
|
|
|
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.
|
|
|
|
|
Anzeige
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 11.03.2004 14:15
Titel
|
|
|
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
|
|
|
|
|
|
|
|
Ä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 () ?
|
|
|
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.
|
|