Prüf Formular.

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Spitzer

Mitglied
23 März 2020
51
0
6
21
Habe den Code Noch angepasst das die pfade stimmen:
PHP:
    $db = new mysqli('localhost','root','','protokol');
    
    if($db->connect_error):
        echo 'Verbindung Fehlgeschlagen';
    endif;
    
if (!mysqli_query($db, "SET a=1")) {
    printf("Error message: %s\n", mysqli_error($db));
}

    
    if(isset($_POST['submit'])):
        $seriennummer         = $_POST['Serial-number-Text'];
        $object             = $_POST['Object'];
        $user                 = $_POST['User'];
        $creator             = $_POST['Creator'];
        $innenJpg            = "images/".$object."/".$seriennummer."-Innen.jpg";
        $obenJpg            = "images/".$object."/".$seriennummer."-oben.jpg";
        $steckerJpg            = "images/".$object."/".$seriennummer."-stecker.jpg";
        $seriennummerJpg    = "images/".$object."/".$seriennummer."-seriennummer.jpg";
        $deckelJpg            = "images/".$object."/".$seriennummer."-deckel.jpg";
    //Bilder Upload
        move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "images/".$object."/".$seriennummer."-Innen.jpg");
        move_uploaded_file($_FILES["top-Img"]["tmp_name"], "images/".$object."/".$seriennummer."-oben.jpg");
        move_uploaded_file($_FILES["plug-legend-img"]["tmp_name"], "images/".$object."/".$seriennummer."-stecker.jpg");
        move_uploaded_file($_FILES["Serial-number-Img"]["tmp_name"], "images/".$object."/".$seriennummer."-seriennummer.jpg");
        move_uploaded_file($_FILES["Top-Bag-img"]["tmp_name"], "images/".$object."/".$seriennummer."-deckel.jpg");
    //Absenden
    $absenden = $db->prepare("INSERT INTO `kontrolliert`(`serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stickr`, `snumber`, `topbag`, `date`) Values (?,?,?,?,?,?,?,?,?,NOW())");
    $absenden->bind_param('iisssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);
    

    $absenden->execute();
        
    endif;

Ich vermute nun mal das es nicht einfach einen neuen order generiert wen ich die dateie so uploade oder? wie mache ich das am besten? habe was gefunden mkdir heisst es glaub aber bin noch nicht fertig mit lesen.
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.355
163
63
Wie wäre es denn mal, wenn du nicht vermutest, sondern testest? Und so Dinge wie
aber bin noch nicht fertig mit lesen
sind nicht dein Ernst, oder?

Wir sind hier mittlerweile bei über 60 Postings zu einem Thema, zu dem es massenhaft Tutorials gibt und auch in der Doku reichlich Infos zu finden sind.
 

Spitzer

Mitglied
23 März 2020
51
0
6
21
Wie wäre es denn mal, wenn du nicht vermutest, sondern testest? Und so Dinge wie

sind nicht dein Ernst, oder?

Wir sind hier mittlerweile bei über 60 Postings zu einem Thema, zu dem es massenhaft Tutorials gibt und auch in der Doku reichlich Infos zu finden sind.


Hay

1. ich teste sehr wohl. Das Problem ist nur das ich momentan kaum an dem pc kann. Das mit dem pfad ist eine idee wie ich mir das vorstellen könnte das es geht aber wie gesagt konnte ich es noch nicht testen.

2. Ist mir das bewusst und wie ich geschriben habe habe ich was gefunden und informiere mich dazu gerade, ich wollte damit aussagen das ich etwas gefunden habe und wissen wollte ob das überhaupt in die richtige richtung geht.

ich bin dankbar für eure hilfe und dass ihr zeit investiert, aber ich bin php noob und muss mir die basics erst zusammen kratzen und lernen verstehen wie das funktioniert.
will euch nicht verarschen oder so bin wirklich dankbar..


mfg
 

basti1012

Senior HTML'ler
26 November 2017
1.475
157
63
39
Minden
sebastian1012.bplaced.net
Bevor wir dir mit dem Upload helfen wäre es erstmal gut zu wissen ob du es mit den Datenbank Einträgen überhaupt hinbekommen hast ?
Speichert er jetzt alles in der DB?
Hast du noch Errors?

Wenn du seid den letzten DatenbankBild (post 54) nichts mehr geändert hast, kann der Code aus 61# eigentlich nicht laufen.
In das Datenbankbild habe ich noch gesehen, das eine Spalte so heißt ( obensäckli).
Da mache ich mal eine Frage raus.
Ich bin der Meinung , das Umlaute da fehl am Platz sind.
Was sagen die Profis dazu?
 
Zuletzt bearbeitet:

Spitzer

Mitglied
23 März 2020
51
0
6
21
Hay ich habe die datenbank bearbeited nach den verbesserungs vorschlägen und alles auf english angepasst, die daten satz grösse muss ich noch anpassen ansonst solllte es nun stimmen. Habe dazu ein bild geposted.
Bevor wir dir mit dem Upload helfen wäre es erstmal gut zu wissen ob du es mit den Datenbank Einträgen überhaupt hinbekommen hast ?
Speichert er jetzt alles in der DB?
Hast du noch Errors?

Wenn du seid den letzten DatenbankBild (post 54) nichts mehr geändert hast, kann der Code aus 61# eigentlich nicht laufen.
In das Datenbankbild habe ich noch gesehen, das eine Spalte so heißt ( obensäckli).
Da mache ich mal eine Frage raus.
Ich bin der Meinung , das Umlaute da fehl am Platz sind.
Was sagen die Profis dazu?


Ich habe noch 1 error aber den versuche ich heute abend zu beheben. Aber eigentlich hatte es bereits funktionirt bis ich einige Spalten hinzugefügt hatte.

Ich will aber befor ich den error behebe noch anschauen was es mit dem objektiven und prozentualen auf sich hat, da habe ich anscheinend was vermischt.


Aber danke für die hilfe
 

Spitzer

Mitglied
23 März 2020
51
0
6
21
Hay so sieht es im Moment aus.

PHP:
<?php

    $db = new mysqli('localhost','root','','protokol');



    if($db->connect_error):

        echo 'Verbindung Fehlgeschlagen';

    endif;



    if(isset($_POST['submit'])):

        $seriennummer         = $_POST['Serial-number-Text'];

        $object             = $_POST['Object'];

        $user                 = $_POST['User'];

        $creator             = $_POST['Creator'];



//verzeichnis generieren

        mkdir("images/$seriennummer-$object");



        $innenJpg            = "images/".$seriennummer.$object."/".$seriennummer."-Innen.jpg";

        $obenJpg            = "images/".$seriennummer.$object."/".$seriennummer."-oben.jpg";

        $steckerJpg            = "images/".$seriennummer.$object."/".$seriennummer."-stecker.jpg";

        $seriennummerJpg    = "images/".$seriennummer.$object."/".$seriennummer."-seriennummer.jpg";

        $deckelJpg            = "images/".$seriennummer.$object."/".$seriennummer."-deckel.jpg";



//Bilder Upload

        move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-Innen.jpg");

        move_uploaded_file($_FILES["top-Img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-oben.jpg");

        move_uploaded_file($_FILES["plug-legend-img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-stecker.jpg");

        move_uploaded_file($_FILES["Serial-number-Img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-seriennummer.jpg");

        move_uploaded_file($_FILES["Top-Bag-img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-deckel.jpg");

    //Absenden

    $absenden = $db->prepare("INSERT INTO `kontrolliert`(`serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stick`, `snumber`, `topbag`, `date`) Values (?,?,?,?,?,?,?,?,?,NOW())");

    $absenden->bind_param('iisssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);





    $absenden->execute();

     

    endif;


und meine errors:

Warning: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 94

Warning
: move_uploaded_file(-51315/11111111-Innen.jpg): failed to open stream: No such file or directory in C:\xampp\htdocs\taru\pages\test.php on line 94

Warning
: move_uploaded_file(): Unable to move 'C:\xampp\tmp\php85D3.tmp' to '-51315/11111111-Innen.jpg' in C:\xampp\htdocs\taru\pages\test.php on line 94

Warning
: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 95

Warning
: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 96

Warning
: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 97

Warning
: A non-numeric value encountered in C:\xampp\htdocs\taru\pages\test.php on line 98

Fatal error
: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\taru\pages\test.php:101 Stack trace: #0 C:\xampp\htdocs\taru\index.php(11): require_once() #1 {main} thrown in C:\xampp\htdocs\taru\pages\test.php on line 101


Ich werde jetzt schauen das ich mir die errors ausgeben kann mit dem einen link den mir jemand mal geschickt hat und mich dann wider melden
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    62,8 KB · Aufrufe: 3
Zuletzt bearbeitet:

tk1234

Mitglied
2 September 2020
49
10
8
PHP:
move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "images/".$seriennummer-$object."/".$seriennummer."-Innen.jpg");
Wenn der Code anständig formatiert wäre, würde dir auffallen dass zwischen $seriennummer und $object hier ein Minus-Operator steht, ein paar Zeilen weiter oben aber ein Punkt als Verknüpfungsoperator und noch weiter oben bei mkdir ein Minus als String. Definiere Pfad/Dateinamen genau einmal in Variablen und verwende diese dann im weiteren Code immer wieder - das ist nicht der erste Kopierfehler in deinem Code, du müsstest doch inzwischen gemerkt haben dass deine Vorgehensweise fehleranfällig ist.

Und warum schreibst du bei den "-Innen.jpg"-Bildern den letzten Teil des Namens (das i) groß, bei allen anderen Bildern aber klein?
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.355
163
63
Ein hoffnungsloser Fall!

Man hat dir gesagt, dass deine gesetzten Datentypen in der DB völlig daneben sind, aber du ignorierst das konsequent

Außerdem postest du den Quellcode unformatiert und die Fehlerzeilen passen nicht zu dem Quellcode.

Und warum du es dir selber schwer machst, weiß der Geier!

Spaltennamen:
`serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stick`, `snumber`, `topbag`

Variablennamen:
$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg
 

Spitzer

Mitglied
23 März 2020
51
0
6
21
Ein hoffnungsloser Fall!

Man hat dir gesagt, dass deine gesetzten Datentypen in der DB völlig daneben sind, aber du ignorierst das konsequent

Außerdem postest du den Quellcode unformatiert und die Fehlerzeilen passen nicht zu dem Quellcode.

Und warum du es dir selber schwer machst, weiß der Geier!

Spaltennamen:
`serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stick`, `snumber`, `topbag`

Variablennamen:
$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg


Hay.

Ich habe es oben bereits mal erwähnt das ich den datentyp nochnicht nicht geendert habe, der grund wie ich gesagt habe will ich erst die fehler beheben, zum mit den fehler Zeilen stimme ich dir zu daran müsste ich denken sry.

Meintest du mit formatieren so wie es nun ist?

Hatte das bis jetzt eigentlich immer so weiss nicht was da passiert ist.

Findest du denn meinen Ansatz zuerst die fehler beheben und dann wens funktioniert alles anpassen?

Ich dachte mir dabei dass kann ich dann Schritt für schritt machen das wen ich etwas geändert habe gleich sehe was nun falsch ist?

Ich werde sobald ich zuhause bin die zeilen noch vetmekrken
 
Zuletzt bearbeitet:

Spitzer

Mitglied
23 März 2020
51
0
6
21
Wenn der Code anständig formatiert wäre, würde dir auffallen dass zwischen $seriennummer und $object hier ein Minus-Operator steht, ein paar Zeilen weiter oben aber ein Punkt als Verknüpfungsoperator und noch weiter oben bei mkdir ein Minus als String. Definiere Pfad/Dateinamen genau einmal in Variablen und verwende diese dann im weiteren Code immer wieder - das ist nicht der erste Kopierfehler in deinem Code, du müsstest doch inzwischen gemerkt haben dass deine Vorgehensweise fehleranfällig ist.

Und warum schreibst du bei den "-Innen.jpg"-Bildern den letzten Teil des Namens (das i) groß, bei allen anderen Bildern aber klein?
Hay das mit dem I weiss ich selbst nicht genau.

Verstehe ich dich dan richtig das du für den pfad würdest inprinzip aus 2 variablen 1ne definieren?
Würde sicher logischer hab ich nie drübernachgedacht.

Das mit dem minus ist mir bewusst ich war da etwas am rum tüffteln mit dem mkdir, ich habe in einem tutorial nachgelesen aber falsch verstanden.
Weil ich abr wider off musste nicht mehr geändert.
 

Spitzer

Mitglied
23 März 2020
51
0
6
21
Ich wollte noch kurtz etwas zu mir sagen.

Och habe absolut keine ahnung von php und mysql, ich versuche es hier zu lernen.

Ich will nicvt respektlos wirken mit meiner rechtschreibung oder weill ich nicht gleich jeden link verstehe, das ligt einerseits an meiner Legasthenie und das ich teilweise noch nicht verstehe was in den post steht und dann andere post lesen muss das ich verstehe um was es geht. Ich bitte daher um Verständnis.

Ich gebe mir mühe und ich weiss das ihr euch auch mühe gibt und dafür bin ich wirklich dankbar.


Mfg
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.355
163
63
Och habe absolut keine ahnung von php und mysql, ich versuche es hier zu lernen.
Ein Forum ist aber nicht dafür da, jemandem die Grundlagen zu vermitteln, denn dafür gibt es massenhaft Tutorials im Netz und die Doku ist mit ihren vielen Beispielen sehr nützlich. Und wenn man eine Funktion nicht versteht, kann man diese mit einem Testscript besser testen, als wenn man das in einem größeren Projekt einbaut und sich dann wundert, wenn nichts funktioniert.

das ligt einerseits an meiner Legasthenie
Das tut mir leid für dich, aber dann nutze eine Rechtschreibprüfung in deinem Browser.
 

Spitzer

Mitglied
23 März 2020
51
0
6
21
Ein Forum ist aber nicht dafür da, jemandem die Grundlagen zu vermitteln, denn dafür gibt es massenhaft Tutorials im Netz und die Doku ist mit ihren vielen Beispielen sehr nützlich. Und wenn man eine Funktion nicht versteht, kann man diese mit einem Testscript besser testen, als wenn man das in einem größeren Projekt einbaut und sich dann wundert, wenn nichts funktioniert.


Das tut mir leid für dich, aber dann nutze eine Rechtschreibprüfung in deinem Browser.


Hay,

ich weiss darum dauert es auch immer solange bis ich mich wider melde, ich suche was versuche es zu verstehen und dann damit zu arbeiten, aber ich finde es gibt viele Kleinigkeiten die logisch wären sehe ich erst bzw verstehe ich erst wenn ihr mich darauf aufmerksam gemacht habt.

Bestes Beispiel ist der post #71 von

tk1234


ich verstehe was er gemeint hat und versucht umzusetzen, bin noch nicht fertig aber wollte das kurtz teilen weil ich auch die Zeilen nummeriert habe.

MFG:


PHP:
<?php
/*#72*/    $db = new mysqli('localhost','root','','protokol');
/*#73*/   
/*#74*/    if($db->connect_error):
/*#75*/        echo 'Verbindung Fehlgeschlagen';
/*#76*/    endif;
/*#77*/   
/*#78*/    if(isset($_POST['submit'])):
/*#79*/        $seriennummer         = $_POST['Serial-number-Text'];
/*#80*/        $object             = $_POST['Object'];
/*#81*/        $user                 = $_POST['User'];
/*#82*/        $creator             = $_POST['Creator'];
/*#83*/
//verzeichnis generieren
/*#85*/        mkdir("images/$seriennummer-$object");
/*#86*/
/*#87*/        $innenJpg            = "images/".$seriennummer.$object."/".$seriennummer."-Innen.jpg";
/*#88*/        $obenJpg            = "images/".$seriennummer.$object."/".$seriennummer."-oben.jpg";
/*#89*/        $steckerJpg            = "images/".$seriennummer.$object."/".$seriennummer."-stecker.jpg";
/*#90*/        $seriennummerJpg    = "images/".$seriennummer.$object."/".$seriennummer."-seriennummer.jpg";
/*#91*/        $deckelJpg            = "images/".$seriennummer.$object."/".$seriennummer."-deckel.jpg";
/*#92*/
//Bilder Upload
/*#94*/    move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "$innenJpg");
/*#95*/        move_uploaded_file($_FILES["top-Img"]["tmp_name"], "$obenJpg");
/*#96*/        move_uploaded_file($_FILES["plug-legend-img"]["tmp_name"], "$steckerJpg");
/*#97*/        move_uploaded_file($_FILES["Serial-number-Img"]["tmp_name"], "$seriennummerJpg");
/*#98*/        move_uploaded_file($_FILES["Top-Bag-img"]["tmp_name"], "$deckelJpg");
    //Absenden
/*#100*/    $absenden = $db->prepare("INSERT INTO `kontrolliert`(`serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stick`, `snumber`, `topbag`, `date`) Values (?,?,?,?,?,?,?,?,?,NOW())");
/*#101*/    $absenden->bind_param('iisssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);
    

/*#104*/    $absenden->execute();
        
    endif;

Ich hoffe das ist gut so
 

m.scatello

Senior HTML'ler
15 Februar 2017
1.355
163
63
Du musst auch richtig hinsehen!

"images/$seriennummer-$object");
"images/".$seriennummer.$object."/".$seriennummer."-Innen.jpg";

Fällt dir da nichts auf?
 

tk1234

Mitglied
2 September 2020
49
10
8
Ich hoffe das ist gut so
Nein. Du verwendest jetzt zwar die Variablen mit Pfad/Dateiname der Bilder, den Pfad schreibst du aber immer noch jedesmal einzeln hin. Definiere vor mkdir eine Variable mit dem Pfad und verwende die dann an jeder Stelle an der du den Pfad brauchst. Und Anführungszeichen um eine einzelne Variable (bei dir als zweiter Parameter von move_uploaded_file) waren schon immer Unsinn, keine Ahnung wo der Blödsinn her kommt …

Dein Sicherheitsproblem hast du allerdings immer noch nicht gelöst - probier einfach mal aus was passiert wenn du am Anfang der Seriennummer ein "../" mit eingibst …

PS: stimmt, der Unterschied in den Pfaden ist ja immer noch da, das würde sich erledigen wenn man den Pfad in eine Variable steckt.
 

Spitzer

Mitglied
23 März 2020
51
0
6
21
Nein. Du verwendest jetzt zwar die Variablen mit Pfad/Dateiname der Bilder, den Pfad schreibst du aber immer noch jedesmal einzeln hin. Definiere vor mkdir eine Variable mit dem Pfad und verwende die dann an jeder Stelle an der du den Pfad brauchst. Und Anführungszeichen um eine einzelne Variable (bei dir als zweiter Parameter von move_uploaded_file) waren schon immer Unsinn, keine Ahnung wo der Blödsinn her kommt …

Dein Sicherheitsproblem hast du allerdings immer noch nicht gelöst - probier einfach mal aus was passiert wenn du am Anfang der Seriennummer ein "../" mit eingibst …

PS: stimmt, der Unterschied in den Pfaden ist ja immer noch da, das würde sich erledigen wenn man den Pfad in eine Variable steckt.

Achso ja das vereinfacht es nochmals deutlich dast stimmt werde ich mirgen so ändern danke.

Das sicherheits problem hab ich noch nicht anschauen können bin noch am kontext wechsrl lesen