Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] upload mit datenbank

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] upload mit datenbank

    Hey ich bin neu hier und habe eine klare Vorstellung von einem Script weis jedoch nicht wie ich da hin kommen werde
    also wäre ich erfreut wenn ihr mir helfen könntet.
    ich will euch kurz mein konzept vorstellen:
    also der benutzer kommt auf die seite und stellt einen artikel ein(bin an einer tauschbörse) kann dort verscheidene input felder ausfüllen, diese werden in eine datenbank eingetragen. dann kann er noch 4 bilder dazu hochladen. diese werden in einem ordner namens "/uppic" gespeichert. für jeden artikel soll ein neuer ordner angelegt werden. dieser hat den namen der artikel ID(diese kann man aus der datenbank auslesen, wird automatisch eingetragen). in diesen ordner der zb. den Pfad /uppic/1/ hat gibt es dann bilder die 1.jpg 2.jpg 3.jpg 4.jpg heißen. dann wird dieser Pfad also bei bild 1 zb. /uppic/1/1.jpg in der datenbank in die spalte bild1 eingetragen und ich kann so auf dieses bild zurückgreifen!
    ich hoffe soweit ist alles klar!
    wenn das gehen würde wäre ich schon sehr froh =)
    meine kentnisse in mysql sind besser als in PHP aber auch nicht unbegrenzt xD
    in php kenn ihc mich gut aus aber upload formulare habe ich noch nie gemacht deswegen auch mein problem!
    ich habe schon 10 andere topics über uploadformulare hier im forum gelesen konnte damit jedoch nich soo viel anfangen da sie entweder zu komplex oder zu simple waren(mit zu simple mein ich nich das ich das könnte sonder das sie einfach nicht das machen was ich will xD)
    also danke für eure hilfe
    gruß
    Freddy


  • #2
    Also bitte, nen Uploadformular wirst du doch wohl selber hinbekommen. Es gibt soooo viele Tutorials dafür, warum müssen wir dir das selbige was schon zig mal geschrieben wurde noch mal schreiben? Probiers mit nem einfachen und erweitere es dann so lange bis das rauskommt was du möchtest. Wenn du nen konkretes Problem hast dann kannst du gerne wieder fragen. Aber sowas wie "Helft mir beim Uploadformular weil alle anderen sind zu einfach oder zu schwer ..."

    Kommentar


    • #3
      ok mit dieser antwort habe ich gerechnet und habe deswegen auch schon ein kleines script geschrieben!
      jedoch uploadet er das nicht!
      ich habe das anhand einens tuts gemacht und der autor sagt es geht! naja hier mal meine 2 scripte:
      artikeleinstellen.php
      PHP-Code:
              echo '<h1>Anzeige einstellen</h1>';

              echo 
      '<form action="index.php?seite=artikeleinstellen2" method="POST"><br/>';
                  echo 
      'Kategorie:<br/>';

                      
      $ksql"SELECT * FROM menu WHERE nebenkat=0";
                      
      $kresult mysql_query($ksql);
              
      //SELECT START
                  
      echo '<select name="kategorie">';
                      while ( 
      $kat mysql_fetch_array($kresult) ){
                      
      //Hauptkategorie
                          
      echo '<optgroup label="'.$kat[3].'">';
                          
      $hk $kat[1];
                          
      $uksql "SELECT * FROM menu WHERE hauptkat=$hk AND nebenkat!=0";
                          
      $ukresult mysql_query($uksql);
                              while ( 
      $u_kat mysql_fetch_array($ukresult) ){
                          
      //Nebenkategorie
                                  
      echo '<option value="'.$u_kat[1].'-'.$u_kat[2].'">'.$u_kat[3].'</option>';
                              }
                          echo 
      '</optgroup>';
                      }
                  echo 
      '</select>';    
              
      //SELECT ENDE
                  
      echo '<br/><br/>';
                  
                  echo 
      'Zustand:&nbsp;&nbsp;';
                  echo 
      '<select name="zustand">';
                      echo 
      '<option value="Neu">Neu</option>
                          <option value="Gebraucht">Gebraucht</option>'
      ;
                  echo 
      '</select><br/><br/>';
                  
                  echo 
      'Artikelname<br/>';
                  echo 
      '<input type="text" size="50" maxlength="50" name="name"><br/><br/>';

                  echo 
      'gew&uuml;nschter Preis:<br/>';
                  echo 
      '<input type="text" size="10" maxlength="20" name="preis"> EURO<br><br>';

                  echo 
      'Bild 1:<br/>';
                  echo 
      '<input type="file" size="50" name="bild1"><br/>';

                  echo 
      'Bild 2:<br/>';
                  echo 
      '<input type="file" size="50" name="bild2"><br/>';
                  
                  echo 
      'Bild 3:<br/>';
                  echo 
      '<input type="file" size="50" name="bild3"><br/>';
                  
                  echo 
      'Bild 4:<br/>';
                  echo 
      '<input type="file" size="50" name="bild4"><br/>';
                  
                  echo 
      '<br/>';

                  echo 
      'genaue Beschreibung:<br/>';
                  echo 
      '<textarea name="beschreibung" cols="50" rows="10"></textarea><br/>';

                  
      $zeit time (); // Aktuelle Zeit in Sekunden

                  
      $datum getdate $zeit );
                  
      $date $datum[0];
                  echo 
      '<input name="date" value="'.$date.'" class="versteckt" /><br/>';
                  
              echo 
      '<input type="submit" value="Artikel einstellen">';
              echo 
      '</form>'
      ----------------------------------------------------
      artikeleinstellen2.php
      PHP-Code:
      $kat = ( explode('-'$_POST['kategorie']) );
                  
                  
      $hkat $kat[0];
                  
      $nkat $kat[1];
                  
                  
      $user $_SESSION["username"];
                  
                  
                      
      $name $_POST['name'];
                      
      $preis $_POST['preis'];
                      
      $beschreibung $_POST['beschreibung'];
                      
      $date $_POST['date'];
                      
      $zustand $_POST['zustand'];
                          
              echo 
      '<h1>Artikel einstellen</h1>';

      ////////////////////////////////////////////////////////////////////////////////////
                  
      $ort "uppic/";
                  
      $tempname $_FILES['bild1']['tmp_name']; 
                  
      $picname $_FILES['bild1']['name'];
                  
      $type $_FILES['bild1']['type']; 
                  
      $size $_FILES['bild1']['size'];

                  if(
      $type != "image/gif" && $type != "image/pjpeg") { 
                      
      $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden."
                  }     
                  if(
      $size "200000") { 
                      
      $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 2 MB!"
                  } 
                  if(empty(
      $err)) { 
                      
      move_uploaded_file  $picname $ort );
                  } 
                  else { 
                      foreach(
      $err as $error
                      echo 
      "$error<br>"
                  }
      ////////////////////////////////////////////////////////////////////////////////////
                              
                  
                  
      $eintrag "INSERT INTO artikel (hauptkat, nebenkat, name, preis, beschreibung, date, user, zustand)
                  VALUES ('
      $hkat', '$nkat', '$name', '$preis', '$beschreibung', '$date', '$user', '$zustand')";
           
                  
      $eintragen mysql_query($eintrag);

                  
      $sql "SELECT * FROM artikel WHERE `hauptkat` LIKE '$hkat' AND nebenkat LIKE '$nkat' AND `name` LIKE '$name' AND `beschreibung` LIKE '$beschreibung' AND `preis` LIKE '$preis' AND bild LIKE $bild AND date LIKE $date AND user LIKE $user";
                  
                  
      $abfrage mysql_query($sql);
                          
                      
      //wurde alles erfolgreich eingetragen
                          
      if($eintragen == false){

                              echo 
      "Der Artikel wurde nicht eingestellt! Bitte versuchen Sie es erneut!<br/>";
                              
                          }else{
                              echo 
      "Der Artikel <b>$name</b> wurde erfolgreich eingestellt. <br/>";
                              echo 
      "Ihnen wurde eine E-Mail als Best&auml;tigung geschickt! <br />";
                              echo 
      "Das LOEmarkt Team w&uuml;nscht viel Erfolg beim Verkauf.<br/>";
                              echo 
      "<a href='index.php?seite=".$hkat."-".$nkat."'>Zur Kategorie</a><br/>"
      ------------------------------------------
      Das habe ich alles selber geschrieben bis auf das upload script was ich mit kommentaren drum rum makiert hab

      also meine frage ist warum der das nicht hochläd!

      Kommentar


      • #4
        So richtig Lust alles durchzulesen hab' ich grad nicht, aber es fehlt auf jeden Fall ein enctype="multipart/form-data" in der Form.
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          das ist schade
          aber selbst wenn ich enctype einfüge geht es auch nich!
          vllt hat ja doch jemand lust das alles zu lesen?!
          wäre nett

          Kommentar


          • #6
            Ist das wirklich die komplette artikeleinstellen2.php ???
            Dann wäre fragwürdig, wo das herkommt:
            PHP-Code:
            $user $_SESSION["username"]; 
            Ich sehe nämlich nirgendwo ein session_start();


            EDIT
            Einen neuen Image-Type hast Du auch entwickelt:
            image/pjpeg
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              ok das mit dem pjpeg ist peinlich xD

              und das mit dem session kannst du ignorieren ich habe nicht das ganze artikeleinstellen2.php gepostet da ich noch datenbank verbindungen und alles drinne hab aber die sind ja hier uninteressant!!
              oder nicht?
              und session_start(); muss immer am anfang der seite stehen!

              Kommentar


              • #8
                Das ist richtig, wenn es NUR die DB-Verbindung ist und Du sicher bist, daß die korrekt ist, ist das uninteressant.

                Allerdings können wir schlecht Fehler im Code suchen, wenn nur die Hälfte an Code gepostet wird!

                EDIT
                Also das hier ist falsch!
                PHP-Code:
                move_uploaded_file  $picname $ort ); 
                Da gehört der TMP-Name des Bildes als erster Parameter und als zweiter der "neue" Bildname inkl. Pfadangabe!
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  ok dann hier das komplette script!
                  wobei ich wie gesagt dort keine fehler drin vermute, denn ohne das upload geht alles :-O
                  PHP-Code:
                  <?php session_start(); ?>

                  <?php
                  include("config.php");

                      
                  $verbindung = @mysql_connect($server$benutzer$passwort);
                      
                      if (
                  $verbindung){
                          
                  mysql_select_db($datenbank);
                          
                          if (
                  mysql_error($verbindung)){
                              echo 
                  "Fehler: " mysql_error($verbindung);
                          }else{
                  ///////////////////////////////////////////////////////////////////////////////////////////
                              
                  $kat = ( explode('-'$_POST['kategorie']) );
                              
                              
                  $hkat $kat[0];
                              
                  $nkat $kat[1];
                              
                              
                  $user $_SESSION["username"];
                              
                              
                                  
                  $name $_POST['name'];
                                  
                  $preis $_POST['preis'];
                                  
                  $beschreibung $_POST['beschreibung'];
                                  
                  $date $_POST['date'];
                                  
                  $zustand $_POST['zustand'];
                                  
                      
                  /*            if ( $bild1s == "" ){
                                      $bild1 = "tpl/img/keinbild.jpg" ;
                                  }else{
                                      $bild1 = $bild1s ;
                                  }
                      */    
                          
                  echo '<h1>Artikel einstellen</h1>';

                              
                  $ort "uppic/";
                              
                  $tempname $_FILES['bild1']['tmp_name']; 
                              
                  $picname $_FILES['bild1']['name'];
                              
                  $type $_FILES['bild1']['type']; 
                              
                  $size $_FILES['bild1']['size'];

                              if(
                  $type != "image/gif" && $type != "image/jpeg") { 
                                  
                  $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden."
                              }     
                              if(
                  $size "200000") { 
                                  
                  $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 2 MB!"
                              } 
                              if(empty(
                  $err)) { 
                                  
                  move_uploaded_file  $picname $ort );
                              } 
                              else { 
                                  foreach(
                  $err as $error
                                  echo 
                  "$error<br>"
                              }
                                          
                                          
                              
                              
                  $eintrag "INSERT INTO artikel (hauptkat, nebenkat, name, preis, beschreibung, date, user, zustand)
                              VALUES ('
                  $hkat', '$nkat', '$name', '$preis', '$beschreibung', '$date', '$user', '$zustand')";
                       
                              
                  $eintragen mysql_query($eintrag);

                              
                  $sql "SELECT * FROM artikel WHERE `hauptkat` LIKE '$hkat' AND nebenkat LIKE '$nkat' AND `name` LIKE '$name' AND `beschreibung` LIKE '$beschreibung' AND `preis` LIKE '$preis' AND bild LIKE $bild AND date LIKE $date AND user LIKE $user";
                              
                              
                  $abfrage mysql_query($sql);
                                      
                                  
                  //wurde alles erfolgreich eingetragen
                                      
                  if($eintragen == false){

                                          echo 
                  "Der Artikel wurde nicht eingestellt! Bitte versuchen Sie es erneut!<br/>";
                                          
                                      }else{
                                          echo 
                  "Der Artikel <b>$name</b> wurde erfolgreich eingestellt. <br/>";
                                          echo 
                  "Ihnen wurde eine E-Mail als Best&auml;tigung geschickt! <br />";
                                          echo 
                  "Das LOEmarkt Team w&uuml;nscht viel Erfolg beim Verkauf.<br/>";
                                          echo 
                  "<a href='index.php?seite=".$hkat."-".$nkat."'>Zur Kategorie</a><br/>";
                                          }
                  ///////////////////////////////////////////////////////////////////////////////////////////
                      
                  }
                  }else{
                      echo 
                  "Verbindungsfehler: " mysql_connect_error($verbindung);
                  }
                      
                  ?>
                  danke schonmal für deine hilfe

                  Kommentar


                  • #10
                    siehe EDIT aus Post darüber !
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar


                    • #11
                      ok wie geb ich das dann an?
                      also pfad = $ort und tmpname = $tempname und neuer picname = $picname
                      wie geht das dann?
                      PHP-Code:
                      move_uploaded_file  $tempname $ort ); 
                      so macht er nix
                      PHP-Code:
                      move_uploaded_file  $tempname $picname$ort ); 
                      so sagt er man darf nur 2 parameter
                      und
                      PHP-Code:
                      move_uploaded_file  $tempname $picname $ort ); 
                      ohne komma machts keinen sinn
                      also?

                      Kommentar


                      • #12
                        .

                        oder.. wie verkette ich 2 Variablen / Strings ?

                        Kommentar


                        • #13
                          Also das werde ich Dir jetzt nicht lösen!

                          1. move_uploaded_file erwartet 2 Parameter (tmpname, neuername)
                          2. der neue name muß mit Pfadangabe sein ($ort und $picname)

                          Wie Du jetzt $ort und $picname miteinander verkettest, solltest Du wissen!

                          EDIT
                          Der Papst hats auf'n Punkt gebracht!
                          Competence-Center -> Enjoy the Informatrix
                          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                          Kommentar


                          • #14
                            oje ^^ eig hätte ich selber drauf kommen können!
                            danke trotzdem!
                            jetzt geht alles =)
                            *freu*
                            vllt hab ich gleich nochmal ne frage xD =)
                            aber ich probiers erstmal selber!

                            EDIT: Wie kann ich sagen das er einen neuen ordner anlegen soll wenn er ein bild hochläd?

                            Kommentar


                            • #15
                              schonmal unter dos oder linux console einverzeichnis angelegt ?
                              ansonsten google befragen.

                              Kommentar

                              Lädt...
                              X