Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHP Upload und mysql

Einklappen

Neue Werbung 2019

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

  • [Erledigt] PHP Upload und mysql

    Hallo ich bin dabi ein Script zu basteln so eine art Modell-script so ich hab nun es alleine geschaft (ich bin absoluter anfänger in php und hab mich die letzten nächte viel damit beschafft und auch schon einen guten vordschritt!

    Nun aber zu meinem Problem!

    Ich hab eine tabelle mit allen möglich profildaten angelegt und auch ( mit Bildern ) alle daten wie größe alter usw kann ich auch schon selbst ohne hilfe auslesen lassen auf der eigentlichen seite nur die bilder machen mir probleme ! hier mal mein bisheriger quelltext

    PHP-Code:
    <?php

    $temp           
    $_POST;
    $Modellname     $_POST [Arbeitsname];
    $Rubrik         $_POST [Rubrik];
    $Newstext       $_POST [Newstext];
    $Beschreibung   $_POST [Beschreibung];
    $age            $_POST [age];
    $size           $_POST [size];
    $brust          $_POST [brust];
    $kon            $_POST [kon];
    $gewicht        $_POST [gewicht];
    $figur          $_POST [figur];
    $eys            $_POST [eys];
    $haar1          $_POST [haar1];
    $haar2          $_POST [haar2];
    $haarl          $_POST [haarl];
    $asehen         $_POST [asehen];
    $nat            $_POST [nat];
    $intim          $_POST [intim];
    $lang           $_POST [lang];
    $lang2          $_POST [lang2];


        
    $connection mysql_connect($dbhost$dbuser$dbpass$dbname ) or die ("verbindung Fehlgeschlagen");
            
              
    echo 
    "datenbank verbindung ok";
    echo
    "<br>";
               
    mysql_select_db($dbname$connection) or die ("konnte Datenbank nicht finden");

        
    $sql "INSERT INTO Modelle (Modellname, Rubrik, Newstext, Beschreibung, age, size, brust, kon, gewicht, figur, eys, haar1, haar2, haarl, asehen, nat, intim, lang, lang2) Values ($temp)";
       
    $eintrag "INSERT INTO Modelle (Modellname, Rubrik, Newstext, Beschreibung, age, size, brust, kon, gewicht, figur, eys, haar1, haar2, haarl, asehen, nat, intim, lang, lang2) VALUES ('$Modellname', '$Rubrik', '$Newstext', '$Beschreibung', '$age', '$size', '$brust', '$kon', '$gewicht', '$figur', '$eys', '$haar1', '$haar2', '$haarl', '$asehen', '$nat', '$intim', '$lang', '$lang2')";
        
    $eintragen mysql_query($eintrag);
                
    echo 
    "daten eingetragen ";
    echo
    "<br>";
        
        if(
    $eintragen == true
            {
         echo 
    "daten erfolgreich eingetragen";
            }
     else 
             {
        echo 
    "Fehler beim eintragen";
            }
     
    ?>
    so und hier der schnipsel von der stelle die wo das bild angezeigt werden soll

    PHP-Code:
    <?php

    $link 
    mysql_connect ($dbhost,$dbuser,$dbpass,$dbname)or die
            (
    "Verbindung Fehlgeschlagen");
    mysql_select_db($dbname,$link)or die ("konnte die Datenbank nicht finden")
     
    ?>

    <marquee direction="up" scrollamount="3" scrolldelay="10" onMouseOver="this.stop();" onMouseOut="this.start();">
        
    <?php
    $linkcat 
    "SELECT Modellname,age FROM  Modelle";
    $catget mysql_query($linkcat,$link)or die (mysql_error());
    $row_catget mysql_numrows ($catget);
    $totalRows_catget mysql_num_rows($catget);

    ?>

    <?php
    do {
    ?>
        <li>
        <a class="city">

     <?php echo $row_catget['Modellname']?>&nbsp;<?php echo $row_catget['age']?>
        </a> 
    </li> 

    <?php
    } while ($row_catget mysql_fetch_assoc($catget));
    $rows mysql_num_rows($catget);
    if(
    $rows0) {
        
    mysql_data_seek($catget0);
        
    $row_catget mysql_fetch_assoc($catget);
    }
    ?>
    </marquee>
    über der stelle Modellname soll das bild eingefügt werden in 50x50px

    Die spalte in der datenbank heist vorbild1 ( es sollen später vorschaubild und 6 hauptbilder hochgeladen werden) die aber auf der profilseite selbst ngezeigt werden sollen also erst mal schritt für schritt nur der newslider !

    Meine spalte im phpmyadmin hab ich für die bilder als blob angelegt !

    eine upload felder hab ich so angelegt ( nur der letzte teil alles wöäre ja jetzt zu viel

    PHP-Code:
    <input type="file" value="vorbild1" />            
          <
    input type="file" name="vorbild2" />
          <
    p>Profilbilder      
          
    <p>
              <
    input type="file" name="file1"  />    
            <
    input type="file" name="file2"  />  
            <
    input type="file" name="file3"  />  
            <
    input type="file" name="file4"  />  
            <
    input type="file" name="file5"  />  
            <
    input type="file" name="file6"  />
          <
    p
    Ich danke euch schon mal im vorraus und bitte seit nicht zu hart mit mir wie gesagt ist mein erstes script was ich bis jetzt nur durch lesen und videos schauen angeeignet habe !


  • #2
    PHP-Code:
    //falsch:
    $_POST[wasauchimmer]

    // richtig:
    $_POST['wasauchimmer'
    Bitte trenne Dich gleich von mysql_* Funktionen, da diese veraltet sind und zukünftig nicht mehr verfügbar sein werden.
    Nutze stattdessen MySQLi bzw. PDO.
    PHP-Code:
    $row_catget mysql_numrows ($catget); 
    $totalRows_catget mysql_num_rows($catget); 
    ...was wird das, wenn feddich
    Meine spalte im phpmyadmin hab ich für die bilder als blob angelegt !
    Das würde ich ändern!
    Leg die Bilder in einem Verzeichnis ab und speichere in der DB nur den Pfad dahin bzw. den Bildnamen, wenn Dein Script den Pfad verwaltet.

    Dann wirds auch einfach mit der Darstellung, bspw.:
    PHP-Code:
    echo '<img src="' $sFullImagePathFromDb '" alt="" /> 
    sofern Du den kompletten Pfad des Bildes in $sFullImagePathFromDb stehen hast.
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      guten morgen und danke für deine tips

      also ich schon mal punkt eins geändert
      PHP-Code:
      // richtig: 
      $_POST['wasauchimmer'
      ok das mit dem pfad hab ich mir auch schon überlegt so nur wie setze ich dies um das das bild oder die bilder de ich hochladen will andere namen bekommen und dann noch gleichzeitig der pfad in die tabele kommt !

      Mein problem ist einfach zur zeit das durch das ganze gelese und videos geschaue (jeder weis es besser jeder macht es anders) hab ich gerade voll den matsch im kopf und komm absolut nicht weiter Sorry und danke für die hilfe

      Kommentar


      • #4
        Wenn du das/die Bild(er) hoch lädst, speicherst du sie in einem Ordner für den User, in diesem Athemzug kannst du das Bild ja gleichz umbenennen. Den Pfad wo das Bild liegt weist du dann ja auch und ebenso den neuen Dateiname (hast das Bild ja gerade umbenannt...).

        Nun speicherst du den bekannten Pfad und Dateiname im Datensatz, so wie du das Bild speichern wolltest ... (update ...) und schon ist alles schick ...

        Kommentar


        • #5
          ja genau so hab ich mir das auch gedacht !
          wenn du bzw ihr jetzt noch ein paar code schnipsel für mich habt damit ich mir das anschaulich anschauen kann bekomme ich es leichter in meine birne

          Kommentar


          • #6
            so nun mal ein update

            Also geschaft hab ich jetzt das es das bild in einen ordner abspeichert is ja nicht sehr schwer so nun problem ein ! wenn eine bilder den gleichen namen haben werden sie überschrieben wie bekommen ich das hin das beim hochladen die bilder umgenannt werden ( z.b. vordlaufende nummern also 0001, 0002. 0003. usw usw)
            aufbau zur datenbank denk ich mal hat auch geklappt den in meiner tabelle im phpmyadmin steht unte dem feld jetzt ein Array (ich denk ja mal das passt oder ?)

            So nun das größte probem ist bis jetzt bei ir das auslesen

            also wie kann ich den pfad des bildes aus der datenbank auslesen ? bzw mit welchem befehl

            danke bis jetzt die ein oder andere antwort hat mit schon sehr weiter geholfen

            Kommentar


            • #7
              wenn eine bilder den gleichen namen haben werden sie überschrieben wie bekommen ich das hin das beim hochladen die bilder umgenannt werden
              Den Bildnamen bestimmst ja du: http://php.net/manual/de/function.mo...oaded-file.php Also entweder vorher prüfen ob schon vorhanden oder eine Art Timestamp (ev. mit microtime) und/oder mit GUI etc. hängt auch vom Volumen ab.

              also wie kann ich den pfad des bildes aus der datenbank auslesen ? bzw mit welchem befehl
              Code:
              SELECT
              Ich empfehle Grundlagen! http://www.php.de/php-einsteiger/489...rundlagen.html
              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                danke und wieder ein schritt weiter
                nur das mit der datenbank schnall ich noch nicht so richtig
                kanns mir mal einer eine befehlszeile schreiben bzw zeigen wo ich den pfad auslese vom bild ?

                also wenn ich ja texte aus der datenbank auslesen will machich das ja so

                PHP-Code:
                <?php echo $row_catget['hier das was ich auslesen will']?>
                funktioniert ja auch auf der anzuzeigenden seite

                nur wie gesagt wie bekomme ich da den pfad der datenbank rein bzw wo bekomme ich den her bei bild liegt ja in 'vorbild1'

                PHP-Code:
                <img src="hier ist halt mein großes fragezeichen" height="40" width="40" alt="Vorschaubild"
                oder liege ich komplett falsch ?

                Kommentar


                • #9
                  Im Grunde:
                  PHP-Code:
                  <?php

                  echo '<img src="/images/'.$row_catget['bildpfad'].'" height="40" width="40" alt="Vorschaubild">';
                  Der Pfad muss halt passen, damit der Browser es findet und die Größenangabe nur angeben, wenn jedes Vorschaubild wirklich gleich Groß ist (was bei Vorschaubildern ja meistens eh so ist).

                  LG
                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    danke für die tips und infos

                    Kommentar


                    • #11
                      so nun nach etwas rum experimentieren hab ich nun es immer noch nicht 100% hinbekommen
                      vielleicht findet doch einer von euch den fehler warum die bilder nicht ausgegeben werden

                      hier das script was die daten auswerten soll:

                      PHP-Code:
                      <?php

                      $temp           
                      $_POST;
                      $Modellname     $_POST ['Arbeitsname'];
                      $Rubrik         $_POST ['Rubrik'];
                      $Newstext       $_POST ['Newstext'];
                      $Beschreibung   $_POST ['Beschreibung'];
                      $age            $_POST ['age'];
                      $size           $_POST ['size'];
                      $brust          $_POST ['brust'];
                      $kon            $_POST ['kon'];
                      $gewicht        $_POST ['gewicht'];
                      $figur          $_POST ['figur'];
                      $eys            $_POST ['eys'];
                      $haar1          $_POST ['haar1'];
                      $haar2          $_POST ['haar2'];
                      $haarl          $_POST ['haarl'];
                      $asehen         $_POST ['asehen'];
                      $nat            $_POST ['nat'];
                      $intim          $_POST ['intim'];
                      $lang           $_POST ['lang'];
                      $lang2          $_POST ['lang2'];
                      $vorbild1       $_FILES['vorbild1'];


                      $uploaddir '../admin/girls_vorschau/';
                      $uploadfile $uploaddir basename($_FILES['vorbild1']['name']);

                      echo 
                      '<pre>';
                      if (
                      move_uploaded_file($_FILES['vorbild1']['tmp_name'], $uploadfile)) {
                      echo 
                      "File is valid, and was successfully uploaded.\n";



                      if (
                      $result === false) {
                      echo 
                      mysql_error();
                      }
                      } else {
                      echo 
                      "Possible file upload attack!\n";
                      }

                      echo 
                      'Here is some more debugging info:';
                      print_r($_FILES);

                      print 
                      "</pre>";

                      $connection mysql_connect($dbhost$dbuser$dbpass$dbname ) or die ("verbindung Fehlgeschlagen");
                              
                                
                      echo 
                      "datenbank verbindung ok";
                      echo
                      "<br>";
                                 
                      mysql_select_db($dbname$connection) or die ("konnte Datenbank nicht finden");

                          
                      $sql "INSERT INTO Modelle (Modellname, Rubrik, Newstext, Beschreibung, age, size, brust, kon, gewicht, figur, eys, haar1, haar2, haarl, asehen, nat, intim, lang, lang2, vorbild1) Values ($temp)";
                         
                      $eintrag "INSERT INTO Modelle (Modellname, Rubrik, Newstext, Beschreibung, age, size, brust, kon, gewicht, figur, eys, haar1, haar2, haarl, asehen, nat, intim, lang, lang2, vorbild1) VALUES ('$Modellname', '$Rubrik', '$Newstext', '$Beschreibung', '$age', '$size', '$brust', '$kon', '$gewicht', '$figur', '$eys', '$haar1', '$haar2', '$haarl', '$asehen', '$nat', '$intim', '$lang', '$lang2', '$vorbild1')";
                          
                      $eintragen mysql_query($eintrag);
                                  
                      echo 
                      "daten eingetragen ";
                      echo
                      "<br>";
                          
                          if(
                      $eintragen == true
                              {
                           echo 
                      "daten erfolgreich eingetragen";
                              }
                       else 
                               {
                          echo 
                      "Fehler beim eintragen";
                              }
                       
                      ?>
                      das denk ich mal funktioniert auch soweit ganz gut also bilder landen auf dem server!

                      hier nun die ausgabe auf der eigentlichen seite

                      PHP-Code:
                      <?php

                      $link 
                      mysql_connect ($dbhost,$dbuser,$dbpass,$dbname)or die
                              (
                      "Verbindung Fehlgeschlagen");
                      mysql_select_db($dbname,$link)or die ("konnte die Datenbank nicht finden")
                       
                      ?>

                      <marquee direction="up" scrollamount="3" scrolldelay="10" onMouseOver="this.stop();" onMouseOut="this.start();">
                          
                      <?php
                      $linkcat 
                      "SELECT Modellname,age FROM  Modelle";
                      $catget mysql_query($linkcat,$link)or die (mysql_error());

                      ?>

                      <?php
                      do {
                      ?>
                          <li>
                          <a class="city">
                       <?php
                       
                      echo '<img src="./admin/girls_vorschau/"'.$row_catget['vorbild1'].'" height="40" width="40" alt="Vorschaubild">'?>
                       <?php echo $row_catget['Modellname']?>&nbsp;<?php echo $row_catget['age']?>
                          </a> 
                      </li> 

                      <?php
                      } while ($row_catget mysql_fetch_assoc($catget));
                      $rows mysql_num_rows($catget);
                      if(
                      $rows0) {
                          
                      mysql_data_seek($catget0);
                          
                      $row_catget mysql_fetch_assoc($catget);
                      }
                      ?>
                      </marquee>
                      also naen und alter werden angezeigt die bilder leider nicht oder liegt es an der datenbank selber ich hab als typ der spalte char und es wird auch ein A angezeigt also denk ich doch das was eingetragen ist nur ausgeben tut es mir nicht die bilder hat vielleicht einer noch nen tip oder ne info woran es liegen könnte oder hab ich den falschen typ in der tabelle
                      danke schon mal im vorraus
                      lg rene

                      Kommentar


                      • #12
                        Feriten HTML Quelltext (im Browser) anschauen ob der Pfad stimmt, wo das Bild liegt.

                        Pfade in der Webentwicklung: http://php-de.github.io/jumpto/pfade/#webpfade

                        LG
                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar


                        • #13
                          ja der Pfad stimmt wenn ich auf der ausgabe seite mit der rechten austaste auf die stelle klicke wo das bild sein sollte und dann bild url speichern klicke und oben im browser einfüge kommt das verzeichniss und wenn ich dahinter jetzt z.b. 1.jpg eingebe kommt auch das bild 1.jpg was hochgeladen wurde !
                          also denk ich mal wird der verweis auf die dartenbank noch nen fehler haben oder ?

                          Kommentar


                          • #14
                            PHP-Code:
                            echo '<img src="./admin/girls_vorschau/"'.$row_catget['vorbild1'].'" height="40" width="40" alt="Vorschaubild">'?> 
                            Das ist ein Anführungszeichen zu viel das nach vorschau/

                            Versuch mal so:
                            PHP-Code:
                            echo '<img src="./admin/girls_vorschau/'.$row_catget['vorbild1'].'" height="40" width="40" alt="Vorschaubild">'?> 
                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar


                            • #15
                              keine änderung immernoch das gleiche problem

                              Kommentar

                              Lädt...
                              X