Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 04:12

  • Please register to post and access all features, it's quick, easy and FREE!

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.

Reply
 
Old   #1

 
Döner-Chicken Grill's Avatar
 
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?
Döner-Chicken Grill is offline  
Old 05/15/2014, 17:59   #2
 
Assassin''s Avatar
 
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

Assassin' is offline  
Old 05/15/2014, 18:11   #3

 
Döner-Chicken Grill's Avatar
 
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.";  

}
?>
Döner-Chicken Grill is offline  
Old 05/15/2014, 19:10   #4
 
Assassin''s Avatar
 
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:&nbsp;<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.
Assassin' is offline  
Old 05/15/2014, 19:27   #5

 
Döner-Chicken Grill's Avatar
 
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 
(namealterignamelevelemailalsdeins

VALUES 
('$name''$alter''$igname''$level''$email''$als''$deins')"; 

mysql_query(
$eintrag); 

echo "
Dein Account wurde Erfolgreich erstellt.";   


?>
Döner-Chicken Grill is offline  
Old 05/15/2014, 20:34   #6
 
Assassin''s Avatar
 
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!";

Assassin' is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.