Autor |
Nachricht |
johnnyvegas
Threadersteller
Dabei seit: 28.02.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 02.03.2008 17:32
Titel Fehler beim BildUpload |
|
|
Hallo zusammen,
darf ich um Euren Rat bitten
Habe ein Script für einen BildUpload erhalten und diesen angepasst.
Dazu habe ich ein Formular erstellt, mit den Feldern "titel, text, link_pdf, link_web, bilddatei".
Alle Informationen sollen in meine mySQL DB geschrieben. Das Script führt dies auch schön aus und die Felddaten werden in die DB eingetragen.
Nur wird leider das Bild nicht im Verzeichnis "../bilderupload/" abgelegt und auch der Dateiname vom Bild wird nicht in die DB abgespeichert.
Code: |
$titel = $_POST["titel"];
$text = $_POST["text"];
$link_pdf = $_POST["link_pdf"];
$link_web = $_POST["link_web"];
$bilddatei = $_POST["bilddatei"];
$extlimit = "yes";
$limitedext = array(".gif",".jpg",".png",".jpeg");
$sizelimit = "yes";
$sizebytes = "100000";
if($senden){
if($bilddatei!= "") {
if (($sizelimit == "yes") && ($bilddatei_size > $sizebytes)) {
echo "Die Bilddateiname ist zu gross, sie darf mamimal $sizebytes bytes sein.";
}
$ext = strrchr($bilddatei_name,'.');
if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo "Die Bilddateiname hat nicht die richtige Endung.";
}
elseif (file_exists("../bilderupload/$bilddatei_name")) {
echo "Die Bilddateiname existiert bereit. Bitte ändere deine Bilddateiname und versuche es nochmal.";
}
else{
copy($bilddatei,"../bilderupload/$bilddatei_name");
} }//if($bilddatei!= "") {
}//if($senden)
$link_bild=$bilddatei_name;
mysql_query("INSERT INTO news (titel,text,link_pdf,link_web,link_bild) VALUES('".$titel."','".$text."','".$link_pdf."','".$link_web."','".$link_bild."')") or die(mysql_error());
|
Wo liegt hier der Hund begraben??
Optional: Wenn jemand noch ganz ganz einfach einen Rat weiss, wie ich die Bilder proportional verkleinern kann auf 130px x *, wäre ich sehr dankbar
Vielen Dank im voraus
Grüsse
Johnny
|
|
|
|
|
gooodguy
Dabei seit: 22.08.2005
Ort: Paderborn
Alter: -
Geschlecht:
|
Verfasst So 02.03.2008 18:16
Titel
|
|
|
- mach mal ein var_dump($_FILES)
- wo ist $senden definiert?
|
|
|
|
|
Anzeige
|
|
|
Joxa
Dabei seit: 06.10.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 02.03.2008 19:44
Titel
|
|
|
Ich würde auch darauf tippen das $senden nicht definiert ist und eigentlich
$_POST[senden] abgefragt werden sollte.
Zu dem verkleinern kannst du das relativ schnell mit den image-Funktionen unter php bewerkstelligen,
ich hab da glaube ich sogar noch einen fertigen Codeschnippsel hier irgendwo, aber erstmal sollte der upload
funktionieren.
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst So 02.03.2008 20:14
Titel
|
|
|
Wo hast du denn eigentlich dieses alte Upload-Script ausgegraben?
Verwende kein copy() mehr, sondern nutze move_uploaded_file().
Außerdem scheint das Script anfällig für einen Angriff per SQL-Injection zu sein. Niemals darfst du Werte von außen ungeprüft und unbereinigt in deine Abfragen einbauen.
In mysql_real_escape_string() wäre das mindeste, was du anwenden solltest.
Und Code: | or die(mysql_error()); | ist im wirklich Gebrauch auch völlig ungeeignet. Dir würde bei einem Fehler zwar eine Fehlermeldung ausgegeben werden, aber danach wird das Script dann beendet, bevor der HTML-Code der Seite zu Ende geschrieben werden kann. Du erhälst damit nur ein halbes, invalides HTML-Dokument.
|
|
|
|
|
johnnyvegas
Threadersteller
Dabei seit: 28.02.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 15.03.2008 23:51
Titel
|
|
|
danke für die tipps. werde es versuchen.
@rob
das script habe ich von irgendjemandem mal gekriegt...ist aber schon ne weile her. bin eigentlich nicht so der programmierer und brauche php darum sehr selten. kannst du ein besseres/sichereres script empfehlen?
gruss
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst So 16.03.2008 02:20
Titel
|
|
|
Zitat: | kannst du ein besseres/sichereres script empfehlen? |
Selber schreiben.
Wirf einen Blick in das PHP-Handbuch. Dort gibt es das Kapitel Steuerung von Dateiuploads. Dort findest du eigentlich alles, was du brauchst. Beispielscripte ebenfalls.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Bildupload Problem
[PHP] Bildupload Problem
Ajax Bildupload
Script in PHP für Bildupload in Datenbank
menalto gallery frage zum bildupload
Perl-Bildupload (größe der Bilder)
|
|