Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
dann ändere das, weil so klappt es nie.Ich habe denn teil mit dem insert ehrlich gesagt so direkt aus meiner sql Datenbank ausgeben lassen und da wahr es so haha.
Hast du zwischenzeitig schon was am Code geändert ?
Wie sieht der jetzt aus ?
Hast du die Zeile schon geändert?
oder diePHP:$absenden->bind_param('iisssssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);
PHP:$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `seriennummer`, `type`, `kontrolliert`, `gebaut`, `Innen-Bild`, `Oben-Bild`, `Stecker-Bild`, `Seriennummer-Bild`, `Oben-mit-Stecker-Bild`, `datum`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7],[value-8],[value-9],[value-10],[value-11])");
Ich bin mir gerade nicht sicher , aber [value-1] ist glaube ich kein erlaubter( ich sage mal Platzhalter ) dafür.
PHP: mysqli_stmt::bind_param - Manual
www.php.net
$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `seriennummer`, `type`, `kontrolliert`, `gebaut`, `innen`, `oben`, `stecker`, `snummer`, `obensäckli`, `datum`) Values (?,?,?,?,?,?,?,?,?,?,NOW())");
$absenden->bind_param('iisssssss',$seriennummer,$object,$user,$creator,$innenJpg,$obenJpg,$steckerJpg,$seriennummerJpg,$deckelJpg);
$absenden->execute();
$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `seriennummer`, `type`, `kontrolliert`, `gebaut`, `innen`, `oben`, `stecker`, `snummer`, `obensäckli`, `datum`) Values (?,?,?,?,?,?,?,?,?,?,NOW())");
'iisssssss'
Ich würde als Spaltentype den Typ nehmen (auch von der Größe her) der zum Inhalt passt - deine Seriennummer z.B. wird wohl kaum 16MB haben, oder? Bei den Spaltennamen dann ggf. noch Umlaute weglassen oder sogar englische Begriffe verwenden. Und ganz wichtig: verwende kein latin sondern immer und überall utf8!Ich habe versucht die die mysql datenbank umzugestalten das keine Grossbuchstaben - etc mehr vorkommen und da stellte sich mir die frage wie würdet ihr sie aussehen lassen bzw was sollte ich anderst machen?
Nein, das geht nicht auf, es sind 10 Fragezeichen, aber nur 9 Parameter.Wen Ja ich weiss nicht ob ich zu dumm zum zählen bin aber das müsste doch so aufgehen oder nicht?
$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));
}
und die daten bank:
[ATTACH type="full"]5503[/ATTACH]
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/".$seriennummer."-Innen.jpg");
move_uploaded_file($_FILES["top-Img"]["tmp_name"], "images/".$seriennummer."-Oben.jpg");
move_uploaded_file($_FILES["plug-legend-img"]["tmp_name"], "images/".$seriennummer."-Stecker.jpg");
move_uploaded_file($_FILES["Serial-number-Img"]["tmp_name"], "images/".$seriennummer."-Seriennummer.jpg");
move_uploaded_file($_FILES["Top-Bag-img"]["tmp_name"], "images/".$seriennummer."-Oben-mit-Stecker.jpg");
//Absenden
$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `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;
Naja, nicht wirklich: in das Feld für die Seriennummer passen immer noch 16MB rein …Hay hab mir die zeit genommen und es deinen Vorschlägen entsprechend angepasst.
Entweder objektorientiert oder prozedural, aber mischen ist nicht.PHP:$db = new mysqli('localhost','root','','protokol'); […] if (!mysqli_query($db, "SET a=1")) { printf("Error message: %s\n", mysqli_error($db)); }
Vertraue niemals Daten die von außen kommen - die Daten in $_POST sind als gefährlich anzusehen und dürfen niemals und unter keinen Umständen einfach übernommen werden (immer Kontextwechsel beachten!). btw: die Pfade die du in die Datenbank schreibst und die an die du die Bilder verschiebst stimmen nicht überein …PHP:$seriennummer = $_POST['Serial-number-Text']; […] move_uploaded_file($_FILES["inside-Img"]["tmp_name"], "images/".$seriennummer."-Innen.jpg");
Das mit dem Zählen musst du unbedingt noch üben: ich zähle hier 11 Spalten aber nur 9 Parameter plus einen festen Wert - vielleicht einfach die Spalte id weglassen?PHP:$absenden = $db->prepare("INSERT INTO `kontrolliert`(`id`, `serialnumber`, `type`, `controller`, `build`, `inside`, `top`, `stickr`, `snumber`, `topbag`, `date`) Values (?,?,?,?,?,?,?,?,?,NOW())");
RTFM. Wenn prepare fehl schlägt bekommst du ein false zurück worauf sich ein bind_param natürlich nicht anwenden lässt - frage die Datenbank nach der Fehlermeldung.Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in […]
$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;
sind nicht dein Ernst, oder?aber bin noch nicht fertig mit lesen
Alle Daten die von außen kommen sind als gefährlich zu betrachten da du nie wissen kannst was da drin steht (nie darauf verlassen das du das bekommst was du erwartest), egal ob per post, get oder sonst wie - deswegen musst du *immer* den Kontextwechsel beachten.Hay wollte noch fragen wiso post immer als gefährlich zu betrachten ist?
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.
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?
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?
Wo ist das den ?Habe dazu ein bild geposted.
Das hat mit Prozenten herzlich wenig zu tun.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.
<?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;