Upload mit Text und Datenbank :-(

Hi,

nun kommt folgende Meldung:

Warning: move_uploaded_file(img63.03afdbd66e7929b125f8597834fa83a4.jpg): failed to open stream: Permission denied in /www/htdocs/v148718/Test/Svenja_Berlin/xyz.php on line 16

Warning: move_uploaded_file(): Unable to move '/tmp/phpOswd3D' to 'img63.03afdbd66e7929b125f8597834fa83a4.jpg' in /www/htdocs/v148718/Test/Svenja_Berlin/xyz.php on line 16

Gruß Svenja
 
Die Fehlermeldung ist doch eindeutig: Du hast keine Erlaubnis, die Datei zu erstellen, also kein Schreibrecht für den aktuellen Ordner. Wenn du die Dateien im Ordner img ablegen möchtest, solltest du das auch entsprechend angeben:
PHP:
move_uploaded_file ($_FILES['die_datei']['tmp_name'], $wohin_soll_die_datei.'/'.$_FILES['die_datei']['name']);
 
Hi,

so nun bin ich es doch nochmals.

Hab das nun alles verbesser und mein Code sieht nun so aus:

PHP:
<?php
 //Konfigurations Datei einbinden
 include "data/config.php";
 ?>
 
 <?php
 if (!isset ($_POST['ueberschrift']) || empty ($_POST['ueberschrift'])) $error[] = "Die Ueberschrift fehlt!";
 if (!isset ($_POST['beschreibung']) || empty ($_POST['beschreibung'])) $error[] = "Die Beschreibung fehlt!";
 if (!is_uploaded_file ($_FILES['die_datei']['tmp_name'])) $error[] = "Die Datei konnte nicht hochgeladen werden"; 
 
 if (isset ($error)) { // wenn $error vorhanden fehler meldung ausgeben
   print_r ($error); // spar ich mir mal :)
 }
 else { // keine fehler: SEHR GUT ab gehts
   $wohin_soll_die_datei = "img";
  move_uploaded_file ($_FILES['die_datei']['tmp_name'], $wohin_soll_die_datei.'/'.$_FILES['die_datei']['name']);   $Query = "
 INSERT INTO
   `Svenja`
   (ueberschrift,
   beschreibung,
   pfad_zum_bild)
 VALUES
 ('".$_POST['ueberschrift']."',
 '".$_POST['beschreibung']."',
 '".$wohin_soll_die_datei.$_FILES['die_datei']['name']."')";
 		mysql_query($sql) OR die(mysql_error());
 } 
 
 ?>

Aber leider wenn ich nun die die Datenbank schaue wird da nichts eingetragen :-( Aber es kommt auch keine Meldung :-(

An was liegt das nun?

Gruß Svenja
 
Das liegt daran, daß du deine Abfrage in einer Variable $Query speicherst, aber die - vermutlich leere - Variable $sql an die Datenbank schickst.
 
So nun hoffentlich das letzte mal. Hab es mal geändert, dass ich in der Datenbank einen kompletten Pfad zum Bild habe also mit HTTP://

aber nun kommt dann folgende Meldung:


Warning: move_uploaded_file(http://www.cipartyguide.de/Test/Sve...n/img/63.03afdbd66e7929b125f8597834fa83a4.jpg): failed to open stream: HTTP wrapper does not support writeable connections. in /www/htdocs/v148718/Test/Svenja_Berlin/xyz.php on line 16

Warning: move_uploaded_file(): Unable to move '/tmp/php8mwVYh' to 'http://www.cipartyguide.de/Test/Svenja_Berlin/img/http://www.cipartyguide.de/Test/Svenja_Berlin/img/63.03afdbd66e7929b125f8597834fa83a4.jpg' in /www/htdocs/v148718/Test/Svenja_Berlin/xyz.php on line 16Aber in der Datenbank wir das Bild also die URL schon richtig gespeichert. Was ist das denn? Ich verstehe die Welt jetzt dann nicht mehr. Ich bin echt am Ende :-(

Gruß Svenja

PS: hier nochmals der Code:

PHP:
<?php
    //Konfigurations Datei einbinden
    include "data/config.php";
    ?>
    
    <?php
    if (!isset ($_POST['ueberschrift']) || empty ($_POST['ueberschrift'])) $error[] = "Die Ueberschrift fehlt!";
    if (!isset ($_POST['beschreibung']) || empty ($_POST['beschreibung'])) $error[] = "Die Beschreibung fehlt!";
    if (!is_uploaded_file ($_FILES['die_datei']['tmp_name'])) $error[] = "Die Datei konnte nicht hochgeladen werden"; 
    
    if (isset ($error)) { // wenn $error vorhanden fehler meldung ausgeben
      print_r ($error); // spar ich mir mal :)
    }
    else { // keine fehler: SEHR GUT ab gehts
      $wohin_soll_die_datei = "http://www.meine_Seite/Test/Svenja_Berlin/img/";
 move_uploaded_file ($_FILES['die_datei']['tmp_name'], $wohin_soll_die_datei.'http://www.meine_Seite/Test/Svenja_Berlin/img/'.$_FILES['die_datei']['name']); $Query = "
    INSERT INTO
      `Svenja`
      (ueberschrift,
      beschreibung,
      pfad_zum_bild)
    VALUES
    ('".$_POST['ueberschrift']."',
    '".$_POST['beschreibung']."',
    '".$wohin_soll_die_datei.$_FILES['die_datei']['name']."')";
    		mysql_query($Query) OR die(mysql_error());
    } 
    
    ?>

EDIT:

Hmm warum steht oben in der Fehlermeldung 2 mal die URL das verste ich auch nicht :-(
 
Zuletzt bearbeitet:
Na ja jetzt habe ich das mal so gemacht:

PHP:
<?php
 //Konfigurations Datei einbinden
 include "data/config.php";
 ?>
 
 <?php
 if (!isset ($_POST['ueberschrift']) || empty ($_POST['ueberschrift'])) $error[] = "Die Ueberschrift fehlt!";
 if (!isset ($_POST['beschreibung']) || empty ($_POST['beschreibung'])) $error[] = "Die Beschreibung fehlt!";
 if (!is_uploaded_file ($_FILES['die_datei']['tmp_name'])) $error[] = "Die Datei konnte nicht hochgeladen werden"; 
 
 if (isset ($error)) { // wenn $error vorhanden fehler meldung ausgeben
   print_r ($error); // spar ich mir mal :)
 }
 else { // keine fehler: SEHR GUT ab gehts
 $wohin_soll_die_datei = "http://www.cipartyguide.de/Test/Svenja_Berlin/img/";
 move_uploaded_file ($_FILES['die_datei']['tmp_name'], $wohin_soll_die_datei.$_FILES['die_datei']['name']); 
 $Query = "  `Svenja`
   (ueberschrift,
   beschreibung,
   pfad_zum_bild)
 VALUES
 ('".$_POST['ueberschrift']."',
 '".$_POST['beschreibung']."',
 '".$wohin_soll_die_datei.$_FILES['die_datei']['name']."')";
 		mysql_query($Query) OR die(mysql_error());
 } 
 
 ?>

Mun kommt aber dann diese Meldung:


Warning: move_uploaded_file(http://www.cipartyguide.de/Test/Svenja_Berlin/img/63.03afdbd66e7929b125f8597834fa83a4.jpg): failed to open stream: HTTP wrapper does not support writeable connections. in /www/htdocs/v148718/Test/Svenja_Berlin/xyz.php on line 16

Warning: move_uploaded_file(): Unable to move '/tmp/phpVMKzXp' to 'http://www.cipartyguide.de/Test/Svenja_Berlin/img/63.03afdbd66e7929b125f8597834fa83a4.jpg' in /www/htdocs/v148718/Test/Svenja_Berlin/xyz.php on line 16
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Svenja` (ueberschrift, beschreibung, pfad_zum_bild) V

Aber was ich nicht verstehen kann warum trägt er das denn in die Datenbank ein?
 
Du mußt einen Pfad angeben und keine URL. Die Fehlermeldung besagt schon ganz richtig, daß über HTTP keine schreibbaren Verbindungen geöffnet werden können.
 
Ok dann habe ich das jetzt einach so geamcht:

PHP:
<?php
 //Konfigurations Datei einbinden
 include "data/config.php";
 ?>
 
 <?php
 if (!isset ($_POST['ueberschrift']) || empty ($_POST['ueberschrift'])) $error[] = "Die Ueberschrift fehlt!";
 if (!isset ($_POST['beschreibung']) || empty ($_POST['beschreibung'])) $error[] = "Die Beschreibung fehlt!";
 if (!is_uploaded_file ($_FILES['die_datei']['tmp_name'])) $error[] = "Die Datei konnte nicht hochgeladen werden"; 
 
 if (isset ($error)) { // wenn $error vorhanden fehler meldung ausgeben
   print_r ($error); // spar ich mir mal :)
 }
 else { // keine fehler: SEHR GUT ab gehts
 $wohin_soll_die_datei = "img";
  move_uploaded_file ($_FILES['die_datei']['tmp_name'], $wohin_soll_die_datei.'/'.$_FILES['die_datei']['name']); $Query = "  `Svenja`
   (ueberschrift,
   beschreibung,
   pfad_zum_bild)
 VALUES
 ('".$_POST['ueberschrift']."',
 '".$_POST['beschreibung']."',
 '".$wohin_soll_die_datei.$_FILES['die_datei']['name']."')";
 		mysql_query($Query) OR die(mysql_error());
 } 
 
 ?>

jetzt kommt nur noch diese Meldung:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Svenja` (ueberschrift, beschreibung, pfad_zum_bild) V

Was soll das nun noch heißen. ich hoffe dass das nun die letzte Frage ist! Danke euch schon mal für eure Hilfe und Gedult

Gruß Svenja
 
Mädel, Mädel, Mädel...

PHP:
Query = "  `Svenja`
   (ueberschrift,
   beschreibung,
   pfad_zum_bild)
VALUES...

was genau soll er mit den Daten denn machen? Solle r sie einfügen (INSERT INTO...), soll er sie löschen (DELET FROM...) oder soll er sie bearbeiten (UPDATE ... SET ...) :)
 
Zurück