Upload im Anmeldescript - brauche Hilfe!
patrickg
- php
Schönen Tag allerseits,
gestern hatte ich schoneinmal geposted. Es ging um ein Anmeldeformular das Daten in eine MySQL DB speichert, ein Bild in ein Verzeichnis uploadet und Mails verschickt.
Link zum Thema:
http://forum.de.selfhtml.org/?t=54524&m=303209
Wie es dort beschrieben ist stimmt jedoch nicht mehr - nur falls ich/mein Problem jemandem bekannt vorkommt :)
Problem jetzt: Der Upload der Bilder funktioniert nicht. In Zeile 60 steht:
if (!@copy($bild, $the_path . "/" . $uid . ".jpe")) {
aber die Variable $bild wird nirgendwo definiert? Ob das der richtige Ansatz ist weiss ich nicht, an den Rechten der Datei oder des Ordners liegt es nicht.
Hier mal der ganze Code der Datei:
<?
$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>
Merhaba!
aber die Variable $bild wird nirgendwo definiert? Ob das der richtige Ansatz ist weiss ich nicht, an den Rechten der Datei oder des Ordners liegt es nicht.
Die Variable $bild wird vermutlich in dem Formular zugewiesen,
das die von Dir gepostete Datei aufruft.
Iye Günler - Ollie
Hallo patrickg,
gestern hatte ich schoneinmal geposted.
dann bleib in deinem Thread!
Link zum Thema:
http://forum.de.selfhtml.org/?t=54524&m=303209
das ist kein Link, das ist eine url - wie man hier einen Link macht (der auch gleich für die /my/-Leute nutzbar ist) steht in der </faq/> -> </faq/#Q-19> -> [pref:t=54524&m=303209]
Wie es dort beschrieben ist stimmt jedoch nicht mehr
jetzt musst du dir noch eine verdammt gute Ausrede einfallen lassen, warum du die Änderungen nicht in deinem alten Thread beschrieben hast.
Grüße aus Nürnberg
Tobias