6. September 20187 j Autor Code: <form action="" method="post"> <input type="text" name="Nutzer_ID" placeholder="Nutzer_ID"><br> <input type="text" name="Vorname" placeholder="Vorname"><br> <input type="text" name="Nachname" placeholder="Nachname"><br> <input type="text" name="E-Mail" placeholder="E-Mail"><br> <input type="text" name="Telefonnummer" placeholder="Telefonnummer"><br> <input type="text" name="Raum" placeholder="Raum"><br> <input type="text" name="Geraet" placeholder="Gerät"><br> <input type="submit" name="submit" value="Absenden"><br> </form> <?php $db = mysqli_connect("localhost","","","projekt_clab"); if ($db -> connect_errno) { printf("Verbindung fehlgeschlagen: %s\n", $db->connect_error); exit(); } if(isset($_POST["submit"])): $nutzerID = $_POST['nutzerID']; $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $email = $_POST['E-Mail']; $telefonnummer = $_POST['telefonnummer']; $raum = $_POST['raum']; $gerät = $_POST['geraet']; $absenden = $db->prepare("INSERT INTO nutzer (Nutzer_ID ,Vorname, Nachname, E-Mail, Telefonnummer, Raum, Geraet) VALUES (?,?,?,?,?,?,?)"); $absenden->bind_param('isssiis',$nutzer_ID,$vorname,$nachname,$email,$telefonnummer,$raum,$geraet); $absenden->execute(); endif; ?> Fehlermeldungen: Warning: mysqli_connect(): (HY000/1044): Access denied for user ''@'localhost' to database 'projekt_clab' in C:\xampp\htdocs\Clab.php on line 14 Notice: Trying to get property 'connect_errno' of non-object in C:\xampp\htdocs\Clab.php on line 16 Notice: Undefined index: geraet in C:\xampp\htdocs\Clab.php on line 30 Fatal error: Uncaught Error: Call to a member function prepare() on boolean in C:\xampp\htdocs\Clab.php:32 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 32
6. September 20187 j vor 3 Minuten schrieb DomentusTM: Lösch mal meine Zeilen wieder raus, also die if-Abfrage die ist Müll. Und benenne bitte $gerät in $geraet um, dann hast du es wenigstens einheitlich.
6. September 20187 j Autor hab ich, dann kommen diese Fehlermeldungen wieder "Warning: mysqli_connect(): (HY000/1044): Access denied for user ''@'localhost' to database 'projekt_clab' in C:\xampp\htdocs\Clab.php on line 14 Notice: Undefined index: geraet in C:\xampp\htdocs\Clab.php on line 23 Fatal error: Uncaught Error: Call to a member function prepare() on boolean in C:\xampp\htdocs\Clab.php:25 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 25"
6. September 20187 j vor 1 Minute schrieb DomentusTM: hab ich, dann kommen diese Fehlermeldungen wieder "Warning: mysqli_connect(): (HY000/1044): Access denied for user ''@'localhost' to database 'projekt_clab' in C:\xampp\htdocs\Clab.php on line 14 Notice: Undefined index: geraet in C:\xampp\htdocs\Clab.php on line 23 Fatal error: Uncaught Error: Call to a member function prepare() on boolean in C:\xampp\htdocs\Clab.php:25 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 25" Hast du die Variable umbenannt? Weil er immer noch ein Problem mit dem Statement hat. Du kannst die Variable nicht $gerät nennen und dann im prepared Statement versuchen die nicht existente Variable $geraet einzufügen. Bearbeitet 6. September 20187 j von Gottlike typo
6. September 20187 j Autor vor 1 Minute schrieb Gottlike: Hast du die Variable umbenannt? Weil er immer noch ein Problem mit dem Statement hat. Du kannst die Variable nicht $gerät nennen und dann im prepared Statement versuchen die nicht existente Variable $geraet einzufügen. <?php $db = mysqli_connect("localhost","","","projekt_clab"); if(isset($_POST["submit"])): $nutzerID = $_POST['nutzerID']; $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $email = $_POST['E-Mail']; $telefonnummer = $_POST['telefonnummer']; $raum = $_POST['raum']; $geraet = $_POST['geraet']; $absenden = $db->prepare("INSERT INTO nutzer (Nutzer_ID ,Vorname, Nachname, E-Mail, Telefonnummer, Raum, Geraet) VALUES (?,?,?,?,?,?,?)"); $absenden->bind_param('isssiis',$nutzer_ID,$vorname,$nachname,$email,$telefonnummer,$raum,$geraet); $absenden->execute(); endif; ?> Hab ich geändert.. ist alles einheitlich
6. September 20187 j Im Formular heißt das Inputfeld "Geraet" und nicht "geraet". Ich würde bei den Kleinschreibung bleiben. Ansonsten, bliebt immer noch das Problem, dass du dich nicht zu den Datenbank verbinden kannst. Kannst du da mal einen User anlegen und dessen Zugangsdaten nutzen?
6. September 20187 j vor 4 Minuten schrieb DomentusTM: $db = mysqli_connect("localhost","","","projekt_clab"); Versuch mal ob stattdessen $db = mysqli_connect("localhost","root","","projekt_clab"); klappt.
6. September 20187 j Hast du denn auch im HTML die Namen der inputfehlder angepasst? Die sind jetzt im PHP Code kleingeschrieben, aber weiter obne in den Screenshots für dasHTML groß
6. September 20187 j Autor Notice: Undefined index: geraet in C:\xampp\htdocs\Clab.php on line 23 Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\Clab.php:26 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 26 Jetzt hat er kein problem, sich zu verbinden. Aber dennoch bleiben die beiden Fehlermeldungen :x
6. September 20187 j Dann ist jetzt deine SQL-Abfrage fehlerhaft. Das ist schonmal gut, sieh mal nach ob du Tabellen und Feldnamen richtig geschrieben hast.
6. September 20187 j Autor vor 3 Minuten schrieb äymm: Hast du denn auch im HTML die Namen der inputfehlder angepasst? Die sind jetzt im PHP Code kleingeschrieben, aber weiter obne in den Screenshots für dasHTML groß Hab ich grade nochmal geändert, aber kommt immernoch die selben Meldungen
6. September 20187 j vor 3 Minuten schrieb DomentusTM: Notice: Undefined index: geraet in C:\xampp\htdocs\Clab.php on line 23 Weil es bei dir Geraet heißt und nicht geraet (laut gepostetem Text). vor 3 Minuten schrieb DomentusTM: Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\Clab.php:26 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 26 Poste mal bitte, welche Typen deine Tabellenfelder haben. Bearbeitet 6. September 20187 j von Rienne
6. September 20187 j Autor vor 2 Minuten schrieb PVoss: Dann ist jetzt deine SQL-Abfrage fehlerhaft. Das ist schonmal gut, sieh mal nach ob du Tabellen und Feldnamen richtig geschrieben hast. Also Tabelle ist richtig geschrieben, ich habe jetzt nochmal die $nutzerID = $_POST['Nutzer_ID']; $vorname = $_POST['Vorname']; $nachname = $_POST['Nachname']; $email = $_POST['E-Mail']; $telefonnummer = $_POST['Telefonnummer']; $raum = $_POST['Raum']; $geraet = $_POST['Geraet']; Am Ende genauso geschrieben, wie die Attribute in der Tabelle stehen (groß geschrieben am Anfang).. Dann kommen diese Fehlermeldungen: Notice: Undefined index: Nutzer_ID in C:\xampp\htdocs\Clab.php on line 17 Notice: Undefined index: Vorname in C:\xampp\htdocs\Clab.php on line 18 Notice: Undefined index: Nachname in C:\xampp\htdocs\Clab.php on line 19 Notice: Undefined index: Telefonnummer in C:\xampp\htdocs\Clab.php on line 21 Notice: Undefined index: Raum in C:\xampp\htdocs\Clab.php on line 22 Notice: Undefined index: Geraet in C:\xampp\htdocs\Clab.php on line 23 Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in C:\xampp\htdocs\Clab.php:26 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Clab.php on line 26
6. September 20187 j vor 4 Minuten schrieb Rienne: Poste mal bitte, welche Typen deine Tabellenfelder haben. Bei den Typen ist er an der Stelle noch nicht, der steigt schon früher aus. @DomentusTM http://php.net/manual/de/mysqli.error.php Damit kannst du dir solche Fehler ausgeben lassen. Versuch erstmal das zu debuggen und melde dich wenn du dabei nicht weiterkommst, wenn das so weiter geht schreiben wir sonst noch das Script für dich. Oder sieh dir dieses Tutorial zur Fehleranalyse an:https://www.peterkropff.de/site/php/mysqli_fehler.htm Zitat $nutzerID = $_POST['Nutzer_ID']; $vorname = $_POST['Vorname']; $nachname = $_POST['Nachname']; $email = $_POST['E-Mail']; $telefonnummer = $_POST['Telefonnummer']; $raum = $_POST['Raum']; $geraet = $_POST['Geraet']; Die ["XYZ"] - sollen nicht so dastehen wie sie in der Tabelle stehen sondern so wie du sie im Name-Attribut im HTML-Formular hast. Bearbeitet 6. September 20187 j von PVoss
6. September 20187 j vor 4 Minuten schrieb DomentusTM: $nutzerID = $_POST['Nutzer_ID']; In die eckigen Klammern muss nicht die Bezeichnung der Datenbank-Spalte (das kommt erst später), sondern die Namen, die du ganz oben jeweils definiert hast. <input type="text" name="Nutzer_ID" placeholder="Nutzer_ID"><br> Bearbeitet 6. September 20187 j von Rienne
6. September 20187 j Autor Ich hab jetzt herrausgefunden, dass bis 2 Variablen gehen ohne problem.. Aber sobald die 3. Variable oder mehr dazu kommen, streikt der wieder mit diesem Fatal Error..
6. September 20187 j Autor Okey, ich hab es geschafft es trägt alle Attribute ein, komplett ohne Fehlermeldungen Ich danke euch trotzdem!!!
6. September 20187 j Gerade eben schrieb DomentusTM: Okey, ich hab es geschafft es trägt alle Attribute ein, komplett ohne Fehlermeldungen Ich danke euch trotzdem!!! Bitte die Lösung immer veröffentlichen, falls jemand ein ähnliches Problem hat. Gehört so zur feinen Art dazu.
6. September 20187 j Autor Ich habe den Attributnamen "E-Mail" in der Tabelle zu "Email" geändert, nochmal alles geprüft, ob richtig geschrieben ist und dann ging es..
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.