|
You last visited: Today at 04:12
Advertisement
Daten werden nicht eingetragen in mysql
Discussion on Daten werden nicht eingetragen in mysql within the Web Development forum part of the Coders Den category.
05/15/2014, 17:40
|
#1
|
elite*gold: 0
Join Date: Apr 2011
Posts: 545
Received Thanks: 55
|
Daten werden nicht eingetragen in mysql
Hallo,
Ich habe ein kleines BewerbungsFormular geschrieben, die Daten werden auch ausgegeben aber nicht in die Datenbank eingetragen.
connect Code:
PHP Code:
<?php $db = mysql_connect ("localhost","root","ascent") or die ("Verbindung fehlgeschlagen"); mysql_select_db("auth",$db); $name = $_POST["name"]; $alter = $_POST["alter"]; $igname = $_POST["igname"]; $level = $_POST["level"]; $email = $_POST["email"]; $als = $_POST["als"]; $deins = $_POST["deins"]; echo "Name:" . " " . "$name<br/>"; echo "Alter:" . " " . "$alter<br/>"; echo "Ingame-Name:" . " " . "$igname<br/><br/>"; echo "Level:" . " " . "$level<br/><br/>"; echo "E-Mail:" . " " . "$email<br/><br/>"; echo "als:" . " " . "$als<br/><br/>"; echo "deins:" . " " . "$deins<br/><br/>"; if($name == "" or $alter == "" or $igname == "" or $level == "" or $email == "" or $deins == "") { echo "Du hast nicht alle Felder ausgefüllt...."; } else { $eintrag = "INSERT INTO bewerbung (name, alter, igname, level, email, als, deins) VALUES ('$name', '$alter', '$igname', '$level', '$email', '$als', '$deins')"; $eintragen = mysql_query($eintrag); echo "Dein Account wurde Erfolgreich erstellt."; } ?>
Sieht jmd ein Fehler?
|
|
|
05/15/2014, 17:59
|
#2
|
elite*gold: 200
Join Date: Nov 2008
Posts: 1,073
Received Thanks: 302
|
Läuft das Fehlerfrei durch?
Ich vermute, das liegt daran, weil du die Variable $eintragen nirgends mehr aufrust, sondern einfach nur sagst, das ist sie. Nehm das mal weg, gib die Anweisung mysql_query($eintrag); allein durch und schau mal ob es was hilft.
Falls nicht, lass dir mal mittels
PHP Code:
print_r($var); exit;
die einzelnen Variablen ausgeben und Prüfe deren Inhalt.
Dein if-Abfrage könnte schöner aussehen
PHP Code:
if(empty($name) || empty($alter) || empty($ingame) ...){ //do that } else { do another thing }
|
|
|
05/15/2014, 18:11
|
#3
|
elite*gold: 0
Join Date: Apr 2011
Posts: 545
Received Thanks: 55
|
geändert, aber läuft immer noch nicht ( & das mit print_r($var);
exit; kapier ich nicht wo ich das einfügen soll., sry bin neu xD)
PHP Code:
<?php $db = mysql_connect ("localhost","root","ascent") or die ("Verbindung fehlgeschlagen"); mysql_select_db("auth",$db); $name = $_POST["name"]; $alter = $_POST["alter"]; $igname = $_POST["igname"]; $level = $_POST["level"]; $email = $_POST["email"]; $als = $_POST["als"]; $deins = $_POST["deins"]; echo "Name:" . " " . "$name<br/>"; echo "Alter:" . " " . "$alter<br/>"; echo "Ingame-Name:" . " " . "$igname<br/><br/>"; echo "Level:" . " " . "$level<br/><br/>"; echo "E-Mail:" . " " . "$email<br/><br/>"; echo "als:" . " " . "$als<br/><br/>"; echo "deins:" . " " . "$deins<br/><br/>"; if($name == "" or $alter == "" or $igname == "" or $level == "" or $email == "" or $deins == "") { echo "Du hast nicht alle Felder ausgefüllt...."; } else { $eintrag = "INSERT INTO bewerbung (name, alter, igname, level, email, als, deins) VALUES ('$name', '$alter', '$igname', '$level', '$email', '$als', '$deins')"; mysql_query($eintrag); echo "Dein Account wurde Erfolgreich erstellt."; } ?>
|
|
|
05/15/2014, 19:10
|
#4
|
elite*gold: 200
Join Date: Nov 2008
Posts: 1,073
Received Thanks: 302
|
Man wieso schau ich nicht genau hin.. Das kann so garnicht funktionieren. Du rufst am Anfang des Skript die $_POST-Variablen auf, die zu diesem Zeitpunkt noch gar nicht existieren. Normal müsste die für jeden Aufruf von $_POST eine Fehlermeldung um die Ohren fliegen, oder fehlt hier noch etwas?
PHP Code:
echo "<form action=bewerbung.php method=post>"; echo "Name: <input name=name type=text size=30><br />"; echo "<input type=submit value=Formulardaten absenden>"; echo "</form>"; if(isset($_POST['name'])) $name = $_POST['name']; if(empty($name)) echo "Name ist leer!<br />"; print_r($name);
den dateinamen in "<form action=" so umbennen, dass er dem dateinamen entspricht, die du aufrufst.
|
|
|
05/15/2014, 19:27
|
#5
|
elite*gold: 0
Join Date: Apr 2011
Posts: 545
Received Thanks: 55
|
PHP Code:
<form action = "bewerbung.php" method = "POST">
der code entspricht doch der Datei. Aber was du mit $_POST meinst kapier ich nicht ganz und warum du alles mit echo schreibst auch nicht.
Das da nix eingetragen wird hat das was mit der Fehlermeldung zu tun wenn ich die Tabelle öffnen will:
bewerbung does not have a primary key.
Updates to this table will be done using the following pseudo statement:
Updates bewerbung SET ModifiedFieldsAndValues WHERE AllFieldsAndOldValues LIMIT 1
Index.php
PHP Code:
<html> <body> <h3>Bewerbungs-Formular von [ADM]Ventus</h3> <form action = "bewerbung.php" method = "POST"> <p>Name <input type = "name" ></p> <p>Alter <input type = "alter" ></p> <p>IG-Name <input type = "igname" ></p> <p>Level <input type = "level" ></p> <p>Email <input type = "email" ></p> <p>Als <select type = "als" ></p> <option value = "GameSage" > GameSage </option> <option value = "GameMaster" > GameMaster </option> <option value = "Supporter" > Supporter </option> </select> <p>Dein Bewerbungs-Text</p> <p><textarea name="deins" cols="150" rows="15"></textarea></p> <p><input type = "submit" value = "Absenden" > <input type = "reset" ></p> </form> </body> </html>
und die bewerbung.php
PHP Code:
<?php $db = mysql_connect ("localhost","root","ascent") or die ("Verbindung fehlgeschlagen"); mysql_select_db("auth",$db);
$name = $_POST["name"]; $alter = "$_POST[alter"]; $igname = $_POST["ingame"]; $level = $_POST["level"]; $email = $_POST["email"]; $als = $_POST["als"]; $deins = $_POST["deins"];
echo "Name:" . " " . "$name<br/>"; echo "Alter:" . " " . "$alter<br/>"; echo "Ingame-Name:" . " " . "$igname<br/><br/>"; echo "Level:" . " " . "$level<br/><br/>"; echo "E-Mail:" . " " . "$email<br/><br/>"; echo "als:" . " " . "$als<br/><br/>"; echo "deins:" . " " . "$deins<br/><br/>";
if($name == "" or $alter == "" or $igname == "" or $level == "" or $email == "" or $deins == "") { echo "Du hast nicht alle Felder ausgefüllt...."; } else { $eintrag = "INSERT INTO bewerbung (name, alter, igname, level, email, als, deins)
VALUES ('$name', '$alter', '$igname', '$level', '$email', '$als', '$deins')";
mysql_query($eintrag);
echo "Dein Account wurde Erfolgreich erstellt.";
} ?>
|
|
|
05/15/2014, 20:34
|
#6
|
elite*gold: 200
Join Date: Nov 2008
Posts: 1,073
Received Thanks: 302
|
Dann musst du für solche Fälle in Zukunft alles schreiben, was du zur verfügung hast, inklusive Fehlermeldungen.
Die Fehlermeldung, die du bekommst sagt aus, dass es keinen primären Schlüssel gibt, der wird aber gebraucht. Am einfachsten ist es, wenn du in der Tabelle noch eine Spalte mit dem namen bewerbungsID einfügst, die folgende Werte hat
INT (3)
UNSIGNED
UNIQUE
AUTO_INCREMENT
input type sagt nicht aus, was es später sein soll, sondern welchen Typ von Eingabefeld du nutzen möchtest.
<input type=text name=name>
PHP Code:
<html> <body> <h3>Bewerbungs-Formular von [ADM]Ventus</h3> <form action = "bewerbung.php" method = "POST"> <p>Name <input type="text" name="name" ></p> <p>Alter <input type="text" name="alter" ></p> <p>IG-Name <input type="text" name="ingame" ></p> <p>Level <input type="text" name="level" ></p> <p>Email <input type="text" name="email" ></p> <p>Als <select name = "als" ></p> <option value = "GameSage" > GameSage </option> <option value = "GameMaster" > GameMaster </option> <option value = "Supporter" > Supporter </option> </select> <p>Dein Bewerbungs-Text</p> <p><textarea name="deins" cols="150" rows="15"></textarea></p> <p><input type = "submit" value = "Absenden" > <input type = "reset" ></p> </form> </body> </html>
Damit läuft bis zur Abfrage alles fehlerfrei durch, die Abfrage selber scheitert aber, das wieso versuche ich gerade noch herauszufinden.
PHP Code:
$eintrag = "INSERT INTO bewerbung (name, alter, ingame, level, email, als, deins) VALUES ('$name', '$alter', '$igname', '$level', '$email', '$als', '$deins')"; $eintragen = mysql_query($eintrag);//gibt TRUE, bei Erfolgreichem Query und FALSE bei Fehlern if($eintragen) { //Prüfung von $eintragen auf TRUE, ist derzeit noch FALSE echo "Dein Account wurde Erfolgreich erstellt."; } else { echo "FEHLER!"; }
|
|
|
|
Similar Threads
|
MySQL INSERT INTO trägt nicht alle Daten aus Formular ein
08/26/2012 - Web Development - 14 Replies
Hallo, ich wollte mir eine kleine Regi basteln.
Dabei stoße ich auf das Problem, dass Username sowie Password eingetragen werden aber die E-Mail nicht. Hier einmal der komplette Code sowie DB:
Das Formular:
<link rel="stylesheet" type="text/css" href="../style.css" />
<h3>Registrierung</h3>
<form action="index.php?page=reg" method="post" id="regist">
<table width="400" border="0" align="center">
<tr>
|
Daten werden nicht in die Datenbank eingetragen
03/19/2012 - Web Development - 8 Replies
Hey leute, ich habe folgendes problem, unzwar werden keine Daten in die Mysql datenbank eingetragen
Code:
<?php
if (isset($_GET)){
$step = $_GET;
if ( $step == 2){
if (isset($_POST)){
if (isset($_POST)){
$username = strip_tags(@$_POST);
|
Registrierformular - Daten werden nicht eingetragen !
02/24/2012 - Technical Support - 2 Replies
Hallo Community,
wer meinen Script "entbuggt" bekommt 30 EliteGold !
Sobald ich auch Registrieren klicke ,wird angedeutet
das die Registrierung fehl geschlagen ist.
Obwohl er mit der Datenbank connectet hat,
die Xampp Daten lasse ich mal weg.
<?php
$wurde_abgeschickt = isset($_POST);
|
[Hilfe]XAMPP macht MySql nicht auf !! pls gebe tv daten !!
10/08/2010 - Metin2 Private Server - 1 Replies
Also
XAMPP macht MySql nicht auf !! pls gebe tv daten !!
per pn wer mir hilft bekommt 20thx's plss
habe hp usw. schon eingerichtet und ip auch schon eingestellt :D bitte hilft mir
|
Szsinstall Daten werden nicht gespeichert!
03/21/2010 - Metin2 Private Server - 8 Replies
Bei mir speichert er szsinstall Daten die IP numma mit
100 am schluss nicht und 255.0.0.0 auch net aba die numma ohne
100 am schluss speichert er! Helft mir PLS :confused::confused::confused:
|
All times are GMT +2. The time now is 04:12.
|
|