Anmeldescript, Mail und Datenbank - brauche bitte Hilfe...
patrickg
- php
Schönen Abend zusammen, es geht um folgende Seite: http://www.fast-reviews.net/modelcontest/voting.php - bzw. um das Popup hinter dem Link "Jetzt Bewerben" (bewerben.php)
ALPTRAUM ANMELDESCRIPT :o)
Nachdem das Formular ganz ausgefüllt und abgeschickt ist leitet es weiter auf die bewerben2.php - die soll eine Mail an den Betreiber der Seite und eine an den neu Angemeldeten schicken und die Daten aus dem Formular in eine MySQL-Datenbank speichern.
Was geht ist (anscheinend) das Verschicken der Mails, ich bekomme eine Error-Message. Die Daten werden jedoch nicht in die Datenbank gespeichert.
Mit der Verbindung ist (wieder anscheinend) alles in Ordnung. Gibt man einen Dummy-Vote ab, wird die Session gespeichert. Die Tabelle für die "Models" (ist ja ein Modelcontest :o) füllt sich auch minimal mit Daten, jedoch nichts Erkennbares.
Ich bin mit meiner Weissheit am Ende und wäre wirklich wirklich dankbar wenn sich das mal jemand ankucken könnte. Auf der Webseite selbst wird man den Fehler kaum finden, die Zugangsdaten für FTP und Datenbank (PHPmyAdmin) gibt es per e-Mail.
Tausend Dank schon im Voraus an alle die sich die Mühe machen.
Schönen Abend,
Patrick
Hallo Patrick,
Nachdem das Formular ganz ausgefüllt und abgeschickt ist leitet es weiter auf die bewerben2.php - die soll eine Mail an den Betreiber der Seite und eine an den neu Angemeldeten schicken und die Daten aus dem Formular in eine MySQL-Datenbank speichern.
Soweit so klar...
Was geht ist (anscheinend) das Verschicken der Mails, ich bekomme eine Error-Message. Die Daten werden jedoch nicht in die Datenbank gespeichert.
Dann gehts wohl (anscheinend) doch nicht, wie lautet die Fehlermeldung. Hast Du schon mal mittel echo bzw. exit im Code feststellen können bei was das Script den Fehler wirft. Poste doch mal bitte auf jeden Fall die Fehlermeldung in Forum.
Mit der Verbindung ist (wieder anscheinend) alles in Ordnung. Gibt man einen Dummy-Vote ab, wird die Session gespeichert.
Ok, also eine Session-ID wird in einer DB-Tabelle gespeichert...
Die Tabelle für die "Models" (ist ja ein Modelcontest :o) füllt sich auch minimal mit Daten, jedoch nichts Erkennbares.
was heisst das? Stehen Daten drin oder nicht? Hast Du mal die Query gecheckt die den SQL-Befehl enthält ob alle relevanten Daten ankommen und diese richtig in der Query stehen? Falls noch nicht: Mach einen echo oder exit auf Deinen Query und lass das Script laufen. Es erscheint hoffentlich Dein Query wie vom Script erzeugt. Gib diesen mal so in der Konsole oder komfortabler bei phpmyadmin o.ä. ein und schau was da passiert.
Ich bin mit meiner Weissheit am Ende und wäre wirklich wirklich dankbar wenn sich das mal jemand ankucken könnte.
Vielleicht hab ich Dir ein paar neue Impulse gegeben?
Auf der Webseite selbst wird man den Fehler kaum finden, die Zugangsdaten für FTP und Datenbank (PHPmyAdmin) gibt es per e-Mail.
Äh, das würde ich nicht wirklich machen... Es soll auch Leute geben die Deine Gutgläubigkeit aus Spass an der Freude missbrauchen und Dir ein wenig ein Budenzauber auf Deinem Server veranstalten...
Gruss AndreD
Hallo Patrick,
Nachdem das Formular ganz ausgefüllt und abgeschickt ist leitet es weiter auf die bewerben2.php - die soll eine Mail an den Betreiber der Seite und eine an den neu Angemeldeten schicken und die Daten aus dem Formular in eine MySQL-Datenbank speichern.
Soweit so klar...Was geht ist (anscheinend) das Verschicken der Mails, ich bekomme eine Error-Message. Die Daten werden jedoch nicht in die Datenbank gespeichert.
Dann gehts wohl (anscheinend) doch nicht, wie lautet die Fehlermeldung. Hast Du schon mal mittel echo bzw. exit im Code feststellen können bei was das Script den Fehler wirft. Poste doch mal bitte auf jeden Fall die Fehlermeldung in Forum.Mit der Verbindung ist (wieder anscheinend) alles in Ordnung. Gibt man einen Dummy-Vote ab, wird die Session gespeichert.
Ok, also eine Session-ID wird in einer DB-Tabelle gespeichert...Ich bin mit meiner Weissheit am Ende und wäre wirklich wirklich dankbar wenn sich das mal jemand ankucken könnte.
Vielleicht hab ich Dir ein paar neue Impulse gegeben?
Auf alle Fällt, aber weiterkommen bin ich noch nicht, kein Stück :(
Auf der Webseite selbst wird man den Fehler kaum finden, die Zugangsdaten für FTP und Datenbank (PHPmyAdmin) gibt es per e-Mail.
Äh, das würde ich nicht wirklich machen... Es soll auch Leute geben die Deine Gutgläubigkeit aus Spass an der Freude missbrauchen und Dir ein wenig ein Budenzauber auf Deinem Server veranstalten...
Danke für den Tip, aber ein wirkliches Problem hab ich nicht damit. Man sieht oder man erahnt ja anhand der bisherigen Beiträge im Forum wie seriös die Person ist. Ausserdem: per eMail, dann weiss ich wenigstens genau wer drauf war und ggf. ändert man einfach die Passwörter :)
Gruss AndreD
willst du dir das nicht doch mal anschauen?
Grüße,
Patrick
Hallo Patrick,
Vielleicht hab ich Dir ein paar neue Impulse gegeben?
Auf alle Fällt, aber weiterkommen bin ich noch nicht, kein Stück :(
Es wäre gut wenn Du mal beschreibst was Du bisher versucht hast und was woran wie gescheitert ist :-)
Danke für den Tip, aber ein wirkliches Problem hab ich nicht damit. Man sieht oder man erahnt ja anhand der bisherigen Beiträge im Forum wie seriös die Person ist. Ausserdem: per eMail, dann weiss ich wenigstens genau wer drauf war und ggf. ändert man einfach die Passwörter :)
Naja, vor einer Weile hat so ein Spassvogel die Leute hier gebeten mal die Sicherheit seines Gästebuches zu testen. Danach waren erst dutzende unsinniger Einträge drin und danach war glaub ich der ganze Server gelöscht, soviel zu dazu...
Ausserdem: Wie aussagekräftig ist ein E-Mail Account bei hotmail, gmx oder ähnliches. Ich hatte auch mal quentin.tarantino@firemail.de; Du verstehst?
Wenn Du das unbedingt machen willst: Lege einen geschützten Teilbereich oder eine Subdomain an wenn Du das bei Deinem Provider darfst, so das wenigstens der Rest sicher ist.
willst du dir das nicht doch mal anschauen?
Nee, hab leider grade keine Zeit, sorry... :-(
Gruss AndreD
Hallo Patrick,
Es wäre gut wenn Du mal beschreibst was Du bisher versucht hast und was woran wie gescheitert ist :-)
Inzwischen bin ich hier angekommen: Mails funktionieren offenbar, das Schreiben der Daten in die Datenbank funktioniert auch, Hochladen des Fotos geht nicht - es gibt keine richtige Funktion dafür? ...wenn ein Fehler auftritt, z.B. das Bild wird nicht hochgeladen, werden die Daten aus der DB wieder entfernt.
Naja, vor einer Weile hat so ein Spassvogel die Leute hier gebeten mal die Sicherheit seines Gästebuches zu testen. Danach waren erst dutzende unsinniger Einträge drin und danach war glaub ich der ganze Server gelöscht, soviel zu dazu...
Das kann ich mir vorstellen *G* aber es sind nicht genügend Rechte vorhanden um was mit dem Server ansich anzustellen :)
Ausserdem: Wie aussagekräftig ist ein E-Mail Account bei hotmail, gmx oder ähnliches. Ich hatte auch mal quentin.tarantino@firemail.de; Du verstehst?
ich verstehe :) bis jetzt hat sich eh nur einer gemeldet, mit einer echten eMail Adresse, viel mehr werden es wohl eh nicht werden :(
Wenn Du das unbedingt machen willst: Lege einen geschützten Teilbereich oder eine Subdomain an wenn Du das bei Deinem Provider darfst, so das wenigstens der Rest sicher ist.
willst du dir das nicht doch mal anschauen?
Nee, hab leider grade keine Zeit, sorry... :-(
dafür hast du mir trotzdem schon weitergeholfen, thanx :)
Gruss AndreD
Grüße,
Patrick
P.S.
hier der Quelltext der bewerbung2.php um die es geht:
<?
$docroot = getenv("DOCUMENT_ROOT");
$serverDNS = getenv("SERVER_NAME");
include("config.inc.php");
include("functions.php");
$max_file_size = 30720;
$image_max_width = 230;
$image_max_height = 230;
$the_path = $docroot . "pics";
$error_start = "Leider konnte Ihre Bewerbung noch nicht angenommen werden, da folgende Punkte nicht den Anforderungen entsprechen:\n\n";
$error = "";
if ($bild != none) {
$image_size = GetImageSize($bild);
$width = $image_size[0];
$height = $image_size[1];
/* if ($bild_type != "image/pjpeg" && $bild_type != "image/jpeg") {
$error = " - Der Dateityp des angegebenen Bildes ist nicht jpeg!\n";
}
if ($bild_size > $max_file_size) {
$error .= " - Die Datei ist zu groß und übersteigt die angebenene Maximalgröße von 30 KiloByte\n";
}
if ($height > $image_max_height) {
$error .= " - Die Höhe der Grafik ist $height Pixel, es dürfen aber nur maximal $image_max_height Pixel sein.\n";
}
if ($width > $image_max_width) {
$error .= " - Die Breite der Grafik ist $width Pixel, es dürfen aber nur maximal $image_max_width Pixel sein.\n";
}*/
} else {
$error .= " - Sie haben keine Grafik hochgeladen!!!\n";
}
$ausgabe = "SELECT * FROM mc_models WHERE email = '$email'";
$query = mysql_query($ausgabe);
if (mysql_num_rows($query) > 0) {
$error .= " - Unter der angebenen E-Mail-Adresse ist bereits ein Model angemeldet.\n";
}
if ($error == "") {
if ($anrede == "Herr") {
$sex = "m";
} else if ($anrede == "Frau") {
$sex = "w";
}
$geb_arr = explode(".", $geburtstag);
$geburtstag = $geb_arr[2] . $geb_arr[1] . $geb_arr[0];
$query = mysql_query("INSERT INTO mc_models (nachname, vorname, strasse, plz, ort, email, geburtstag, groesse, gewicht, konfektion, login, pin, sex) VALUES ('$_POST[nachname]', '$_POST[vorname]', '$_POST[strasse]', '$_POST[plz]', '$_POST[ort]', '$_POST[email]', '$_POST[geburtstag]', '$_POST[groesse]', '$_POST[gewicht]', '$_POST[konfektion]', '$_POST[login]', '$_POST[pin]', '$_POST[sex]')");
$uid = mysql_insert_id();
if ($nl == "plain" || $nl == "html") {
$name = $nachname;
$typ = $nl;
}
if (!@copy($bild, $the_path . "/" . $uid . ".jpe")) {
$error .= " - ein technisches Problem verhindert z.Zt. das Uploaden des Bildes. Bitte versuchen Sie es später noch einmal!";
$sql = "DELETE * FROM mc_models WHERE model_id = $uid";
$query = mysql_query($sql);
mail ("patrick.graeve@da-ag.com", "Probleme bei der Anmeldung zum Modelcontest", "Upload funzt nicht!!!\n\n$vorname $nachname\n$email", "From: patrick.graeve@da-ag.com");
} else {
$measures = resizePic($uid.".jpe", "big");
$pump_height = $measures["height"];
$pump_width = $measures["width"];
$header = "From:patrick.graeve@da-ag.com\nReply-To:patrick.graeve@da-ag.com\nErrors-To:patrick.graeve@da-ag.com\nX-Mailer: PHP/".phpversion();
$header .= "MIME-Version: 1.0\nContent-Type: text/html; charset=iso-8859-1\nContent-Transfer-Encoding: 8bit\n";
$html_mailtext = "<html><head><title>Anmeldung</title></head><body><table><tr><td valign="top"><img src="http://www.fast-reviews.net/modelcontest/pics/$uid.jpe" width="$pump_width" height="$pump_height" border="0"></td>";
$html_mailtext .= "<td>Name:$nachname<br>Vorname:$vorname<br>Straße:$strasse<br>Wohnort:$plz $ort<br>E-Mail-Adresse:$email<br>Geburtstag:$geburtstag<br>Größe:$groesse<br>Gewicht:$gewicht<br>Konfektionsgröße:$konfektion</td></tr>";
$html_mailtext .= "<tr><td colspan="2" align="center"><a href="http://www.fast-reviews.net/modelcontest/golive.php?id=$uid">kann live gehen</a></td></tr></table></body></html>";
$e7jungs = array(1 => "patrick.graeve@da-ag.com", 2 => "patrick.graeve@da-ag.com", 3 => "patrick.graeve@da-ag.com", 4 => "patrick.graeve@da-ag.com");
foreach ($e7jungs as $receiver) {
// mail($receiver, "Modelcontest Anmeldung", $html_mailtext, $header);
}
}
}
$success_copy = "Danke. Deine Bewerbungsunterlagen wurden erfolgreich übermittelt. Du bekommst gleich eine Bestätigungs-E-Mail von uns. Wir behalten uns das Recht vor, einzelne Bewerber von der Teilnahme auszuschließen. Als Teilnehmer drücken wir Dir ganz fest die Daumen - und wünschen viel Erfolg im Wettbewerb.";
?>
<html>
<head>
<title>Model-Contest Bewerbung</title>
<link rel="stylesheet" type="text/css" href="ie_pc.css">
</head>
<body bgcolor="#e8f4b6" style="background-image:url(images/popup_bew_image.jpg); background-repeat:no-repeat;">
<table width="300">
<tr>
<td class="standart"><? if ($error != "") { echo nl2br(htmlentities($error_start . $error)); } else { echo nl2br(htmlentities($success_copy)); } ?>
<br><br><br>
<? if ($error != "") { ?>
<a href="javascript:history.back();" class="standart">Zurück</a>
<? } else { ?>
<a href="javascript:window.close();" class="standart">Fenster schließen</a>
<? } ?>
</td>
</tr>
</table>
</body>
</html>
Hallo Patrick,
Inzwischen bin ich hier angekommen:
Mails funktionieren offenbar,
Also kommen mail an einer Testadresse an wie diese sein sollen?
das Schreiben der Daten in die Datenbank funktioniert auch,
ok...
Hochladen des Fotos geht nicht - es gibt keine richtige Funktion dafür?
Doch: zum upload ins Filesystem gibts jede Menge http://de2.php.net/manual/de/ref.filesystem.php
z.B. http://de2.php.net/manual/de/function.move-uploaded-file.php
...wenn ein Fehler auftritt, z.B. das Bild wird nicht hochgeladen, werden die Daten aus der DB wieder entfernt.
Die Daten welche das Bild betreffen oder alle Daten?
Das kann ich mir vorstellen *G* aber es sind nicht genügend Rechte vorhanden um was mit dem Server ansich anzustellen :)
Wie änderst Du dann Daten auf dem Server? :-)
hier der Quelltext der bewerbung2.php um die es geht:
Ok, sieht interessant aus. Ich glaub ich schau denn mal heute abend nach der Arbeit rein :-)
Gruss Andre