|
You last visited: Today at 10:23
Advertisement
Fehler in PHP
Discussion on Fehler in PHP within the Web Development forum part of the Coders Den category.
08/15/2012, 18:46
|
#1
|
elite*gold: 0
Join Date: Jun 2011
Posts: 670
Received Thanks: 118
|
Fehler in PHP
Hey E*Pvpers,
ich habe ein PHP Script geschrieben, das allerdings nicht richtig funktioniert und ich den Fehler auch nicht finde.
Hier ist die PHP Datei:
Code:
<?php include('inc/main.php'); ?>
<!-- begin .mainContent -->
<div class="mainContent">
<?php
if(isset($_SESSION['UserID'])) {
if(isset($_POST['submit']) AND $_POST['submit']=='Gewicht eintragen'){
// Fehlerarray anlegen
$errors = array();
// Prüfen, ob alle Formularfelder vorhanden sind
if(!isset($_POST['Gewicht_2'],
$_POST['Groeße'],
$_POST['Bauchumfang']))
// Ein Element im Fehlerarray hinzufügen
$errors[] = "Bitte benutzen Sie das Formular aus dem User Panal.";
else{
// Prüfung der einzelnen Felder
// Prüft, ob ein Gewicht eingegeben wurde
if(trim($_POST['Gewicht'])=='')
$errors[]= "Bitte geben Sie Ihr derzeitiges Gewicht ein.";
// Prüft, ob das Gewicht maximal 5 Zeichen enthält
elseif(strlen(trim($_POST['Gewicht'])) > 5)
$errors[]= "Ihr Gewicht darf maximal 5 Zeichen lang sein.";
// Prüft, ob die Größe eingegeben wurde
if(trim($_POST['Groeße'])=='')
$errors[]= "Bitte geben Sie Ihre derzeitige Größe ein.";
// Prüft, ob die Groeße maximal 5 Zeichen enthält
elseif(strlen(trim($_POST['Groeße'])) > 5)
$errors[]= "Ihre Größe darf maximal 5 Zeichen lang sein.";
// Prüft, ob der Bauchumfang eingegeben wurde
if(trim($_POST['Bauchumfang'])=='')
$errors[]= "Bitte geben Sie Ihren derzeitigen Bauchumfang ein.";
}
// Prüft, ob Fehler aufgetreten sind
if(count($errors) > 0){
echo "Ihr Gewicht konnte nicht eingetragen werden.<br>\n".
"<br>\n";
foreach($errors as $error) {
echo $error."<br>\n";
}
echo "<br>\n".
"Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Formular</a>\n";
}
else{
// Daten in die Datenbanktabelle einfügen
$sql = "INSERT INTO
Gewicht
(Nickname,
Gewicht,
Bauch,
Groeße,
Eintragungsdatum
)
VALUES
('".mysql_real_escape_string(trim($_SESSION['Nickname']))."',
'".mysql_real_escape_string(trim($_POST['Gewicht']))."',
'".mysql_real_escape_string(trim($_POST['Bauch']))."',
'".mysql_real_escape_string(trim($_POST['Groeße']))."',
CURDATE(),
)
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
echo "<font color='green'>Vielen Dank!\n<br>".
"Ihre Eingaben wurde erfolgreich bearbeitet.\n<br>".
"<a href=\"weight.php\">Zur Statistik</a>\n";
}
}
else {
echo "<form ".
" name=\"Gewicht\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
?><?php
$sql2 = "SELECT
ID,
IP,
SessionID,
Nickname,
Email,
Show_Email,
Gewicht,
DATE_FORMAT(Registrierungsdatum, '%d.%m.%Y') as Datum,
Wohnort,
Geheimfrage,
Homepage,
Avatar,
Letzte_Aktion,
Letzter_Login
FROM
User
WHERE
Nickname = '".mysql_real_escape_string($_SESSION['Nickname'])."'
";
$result2 = mysql_query($sql2) OR die("<pre>\n".$sql2."</pre>\n".mysql_error());
$row2 = mysql_fetch_assoc($result2);
if(!$row2) {
echo "Es sind keine Daten zu diesem Account verfügbar.";
}?>
<table>
<tr>
<td>Nickname:</td>
<td><?php echo $row2['Nickname'];?></td>
</tr>
<tr>
<td>Gewicht bei Anmeldung:</td>
<td><?php echo "" . $row2['Gewicht'] . " kg";?></td>
</tr>
<tr>
<td><span title="Beispiel: 70.2" style="font-weight:bold;">Gewicht:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Gewicht_2" maxlength="5" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Größe:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Groeße" maxlength="5" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Bauchumfang:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Bauchumfang" maxlength="3" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Gewicht eintragen"></td>
<td><input type="reset" value="Formular zurücksetzen"></td>
</tr>
</table>
<p><small>Alle mit <font color="red">*</font> gekennzeichneten Felder sind Pflichtfelder.</small></p>
<?php
}
}
?>
</div>
<!-- end .mainContent -->
<?php include('inc/footer.php'); ?>
Das Script erscheint korrekt, aber sobald ich auf "Gewicht eintragen" gehe, bringt er folgenden Fehler:
Code:
Ihr Gewicht konnte nicht eingetragen werden.
Bitte benutzen Sie das Formular aus dem User Panal.
Zurück zum Formular
Allerdings dürfte dieser Fehler garnicht vorliegen, da alle Felder vorhanden sind und ich auch in alle Felder etwas eingetragen habe.
Hoffe jemand kann mir da helfen.
Lg
|
|
|
08/15/2012, 20:27
|
#2
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
Also wenn ich ehrlich bin, funktioniert das bei mir..natürlich mit Abänderung des Codes, da vieles bei mir nicht vorhanden ist.
Prüfe mal, welche Werte die POST-Angaben mittels echo nach dem Abschicken haben. Anscheinend sind diese bei dir diese nicht vollzählig vorhanden, da das isset der POST-Angaben den Fehler ja wirft.
|
|
|
08/15/2012, 20:44
|
#3
|
elite*gold: 0
Join Date: Jun 2011
Posts: 670
Received Thanks: 118
|
Habe die Fehlerausgabe folgendermaßen geändert (Es sind noch Felder dazugekommen, aber das ist unrelevant):
Code:
if(count($errors) > 0){
echo "Ihr Gewicht konnte nicht eingetragen werden.<br>\n".
"<br>\n";
echo $_POST['Gewicht_2']." kg<br />";
echo $_POST['Groesse']." m<br />";
echo $_POST['Bauchumfang']." cm<br />";
echo $_POST['Gesaessumfang']." cm<br />";
echo $_POST['Age']."<br />";
foreach($errors as $error) {
echo $error."<br>\n";
}
echo "<br>\n".
"Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Formular</a>\n";
}
Ausgabe:
Code:
Ihr Gewicht konnte nicht eingetragen werden.
80 kg
1.83 m
95 cm
100 cm
19
Bitte benutzen Sie das Formular aus dem User Panal.
Zurück zum Formular
Somit werden die POST richtig übermittelt. Kann sich das vielleicht mal jemand über tv ansehen?
|
|
|
08/15/2012, 20:47
|
#4
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
Zeig mal nun den geänderten kompletten Code bitte.
|
|
|
08/15/2012, 20:50
|
#5
|
elite*gold: 0
Join Date: Jun 2011
Posts: 670
Received Thanks: 118
|
Neue PHP Datei:
Code:
<?php include('inc/main.php'); ?>
<!-- begin .mainContent -->
<div class="mainContent">
<h2>Gewicht eintragen</h2>
<?php
if(isset($_SESSION['UserID'])) {
if(isset($_POST['submit']) AND $_POST['submit']=='Gewicht eintragen'){
// Fehlerarray anlegen
$errors = array();
// Prüfen, ob alle Formularfelder vorhanden sind
if(!isset($_POST['Gewicht_2'],
$_POST['Groeße'],
$_POST['Bauchumfang']))
// Ein Element im Fehlerarray hinzufügen
$errors[] = "Bitte benutzen Sie das Formular aus dem User Panal.";
else{
// Prüfung der einzelnen Felder
// Prüft, ob ein Gewicht eingegeben wurde
if(trim($_POST['Gewicht'])=='')
$errors[]= "Bitte geben Sie Ihr derzeitiges Gewicht ein.";
// Prüft, ob das Gewicht maximal 5 Zeichen enthält
elseif(strlen(trim($_POST['Gewicht'])) > 5)
$errors[]= "Ihr Gewicht darf maximal 5 Zeichen lang sein.";
// Prüft, ob die Größe eingegeben wurde
if(trim($_POST['Groesse'])=='')
$errors[]= "Bitte geben Sie Ihre derzeitige Größe: ein.";
// Prüft, ob die Größe maximal 5 Zeichen enthält
elseif(strlen(trim($_POST['Groesse'])) > 5)
$errors[]= "Ihre Größe: darf maximal 5 Zeichen lang sein.";
// Prüft, ob der Bauchumfang eingegeben wurde
if(trim($_POST['Bauchumfang'])=='')
$errors[]= "Bitte geben Sie Ihren derzeitigen Bauchumfang ein.";
// Prüft, ob der Gesaessumfang eingegeben wurde
if(trim($_POST['Gesaessumfang'])=='')
$errors[]= "Bitte geben Sie Ihren derzeitigen Gesaessumfang ein.";
// Prüft, ob das Alter eingegeben wurde
if(trim($_POST['Age'])=='')
$errors[]= "Bitte geben Sie Ihr derzeitiges Alter ein.";
}
// Prüft, ob Fehler aufgetreten sind
if(count($errors) > 0){
echo "Ihr Gewicht konnte nicht eingetragen werden.<br>\n".
"<br>\n";
echo $_POST['Gewicht_2']." kg<br />";
echo $_POST['Groesse']." m<br />";
echo $_POST['Bauchumfang']." cm<br />";
echo $_POST['Gesaessumfang']." cm<br />";
echo $_POST['Age']."<br />";
foreach($errors as $error) {
echo $error."<br>\n";
}
echo "<br>\n".
"Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Formular</a>\n";
}
else{
// Daten in die Datenbanktabelle einfügen
$sql = "INSERT INTO
Gewicht
(Nickname,
Gewicht,
Bauch,
Groesse,
Gesaessumfang,
Age,
Groeße,
Eintragungsdatum
)
VALUES
('".mysql_real_escape_string(trim($_SESSION['Nickname']))."',
'".mysql_real_escape_string(trim($_POST['Gewicht']))."',
'".mysql_real_escape_string(trim($_POST['Bauch']))."',
'".mysql_real_escape_string(trim($_POST['Gesaessumfang']))."',
'".mysql_real_escape_string(trim($_POST['Alter']))."',
'".mysql_real_escape_string(trim($_POST['Groeße']))."',
CURDATE(),
)
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
echo "<font color='green'>Vielen Dank!\n<br>".
"Ihre Eingaben wurde erfolgreich bearbeitet.\n<br>".
"<a href=\"weight.php\">Zur Statistik</a>\n";
}
}
else {
echo "<form ".
" name=\"Gewicht\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
?><?php
$sql2 = "SELECT
ID,
IP,
SessionID,
Nickname,
Email,
Show_Email,
Gewicht,
Geschlecht,
DATE_FORMAT(Registrierungsdatum, '%d.%m.%Y') as Datum,
Wohnort,
Geheimfrage,
Homepage,
Avatar,
Letzte_Aktion,
Letzter_Login
FROM
User
WHERE
Nickname = '".mysql_real_escape_string($_SESSION['Nickname'])."'
";
$result2 = mysql_query($sql2) OR die("<pre>\n".$sql2."</pre>\n".mysql_error());
$row2 = mysql_fetch_assoc($result2);
if(!$row2) {
echo "Es sind keine Daten zu diesem Account verfügbar.";
}?>
<table>
<tr>
<td>Nickname:</td>
<td><?php echo $row2['Nickname'];?></td>
</tr>
<tr>
<td>Gewicht bei Anmeldung:</td>
<td><?php echo "" . $row2['Gewicht'] . " kg";?></td>
</tr>
<tr>
<td><span title="Beispiel: 70.2" style="font-weight:bold;">Gewicht:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Gewicht_2" maxlength="5" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Größe:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Groesse" maxlength="5" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Bauchumfang:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Bauchumfang" maxlength="3" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Gesäßumfang:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Gesaessumfang" maxlength="3" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Alter:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Age" maxlength="3" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Gewicht eintragen"></td>
<td><input type="reset" value="Formular zurücksetzen"></td>
</tr>
</table>
<p><small>Alle mit <font color="red">*</font> gekennzeichneten Felder sind Pflichtfelder.</small></p>
<?php
}
}
?>
</div>
<!-- end .mainContent -->
<?php include('inc/footer.php'); ?>
Habe auch mal eine test.php erstellt ohne die Fehlerausgabe und überprüfung.
Das kommt beim abschicken:
Code:
INSERT INTO
Gewicht
(Nickname,
Gewicht,
Bauch,
Groesse,
Gesaessumfang,
Age,
Groe�e,
Eintragungsdatum
)
VALUES
('Benni',
'',
'',
'119',
'',
'',
CURDATE(),
)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 20
test.php:
Code:
<?php include('inc/main.php'); ?>
<!-- begin .mainContent -->
<div class="mainContent">
<h2>Gewicht eintragen</h2>
<?php
if(isset($_SESSION['UserID'])) {
if(isset($_POST['submit']) AND $_POST['submit']=='Gewicht eintragen'){
// Daten in die Datenbanktabelle einfügen
$sql = "INSERT INTO
Gewicht
(Nickname,
Gewicht,
Bauch,
Groesse,
Gesaessumfang,
Age,
Groeße,
Eintragungsdatum
)
VALUES
('".mysql_real_escape_string(trim($_SESSION['Nickname']))."',
'".mysql_real_escape_string(trim($_POST['Gewicht']))."',
'".mysql_real_escape_string(trim($_POST['Bauch']))."',
'".mysql_real_escape_string(trim($_POST['Gesaessumfang']))."',
'".mysql_real_escape_string(trim($_POST['Alter']))."',
'".mysql_real_escape_string(trim($_POST['Groeße']))."',
CURDATE(),
)
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
echo "<font color='green'>Vielen Dank!\n<br>".
"Ihre Eingaben wurde erfolgreich bearbeitet.\n<br>".
"<a href=\"weight.php\">Zur Statistik</a>\n";
}
else {
echo "<form ".
" name=\"Gewicht\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
?><?php
$sql2 = "SELECT
ID,
IP,
SessionID,
Nickname,
Email,
Show_Email,
Gewicht,
Geschlecht,
DATE_FORMAT(Registrierungsdatum, '%d.%m.%Y') as Datum,
Wohnort,
Geheimfrage,
Homepage,
Avatar,
Letzte_Aktion,
Letzter_Login
FROM
User
WHERE
Nickname = '".mysql_real_escape_string($_SESSION['Nickname'])."'
";
$result2 = mysql_query($sql2) OR die("<pre>\n".$sql2."</pre>\n".mysql_error());
$row2 = mysql_fetch_assoc($result2);
if(!$row2) {
echo "Es sind keine Daten zu diesem Account verfügbar.";
}?>
<table>
<tr>
<td>Nickname:</td>
<td><?php echo $row2['Nickname'];?></td>
</tr>
<tr>
<td>Gewicht bei Anmeldung:</td>
<td><?php echo "" . $row2['Gewicht'] . " kg";?></td>
</tr>
<tr>
<td><span title="Beispiel: 70.2" style="font-weight:bold;">Gewicht:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Gewicht_2" maxlength="5" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Größe:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Groesse" maxlength="5" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Bauchumfang:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Bauchumfang" maxlength="3" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Gesäßumfang:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Gesaessumfang" maxlength="3" /></td>
</tr>
<tr>
<td><span title="Beispiel: 1.70" style="font-weight:bold;">Alter:<font color="red">*</font></span></td>
<td><input type="text" id="register" name="Age" maxlength="3" /></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Gewicht eintragen"></td>
<td><input type="reset" value="Formular zurücksetzen"></td>
</tr>
</table>
<p><small>Alle mit <font color="red">*</font> gekennzeichneten Felder sind Pflichtfelder.</small></p>
<?php
}
}
?>
</div>
<!-- end .mainContent -->
<?php include('inc/footer.php'); ?>
|
|
|
08/15/2012, 20:53
|
#6
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
PHP Code:
// Prüfen, ob alle Formularfelder vorhanden sind if(!isset($_POST['Gewicht_2'], $_POST['Groeße'], //Umlaute nicht möglich, daher solltest du das hier auch auf $_POST['Groesse'] ändern! $_POST['Bauchumfang']))
Du musst natürlich alles abändern, wenn du schon was änderst
PHP Code:
$sql = "INSERT INTO Gewicht (Nickname, Gewicht, Bauch, Groesse, Gesaessumfang, Age, Groeße, Eintragungsdatum ) VALUES ('".mysql_real_escape_string(trim($_SESSION['Nickname']))."', '".mysql_real_escape_string(trim($_POST['Gewicht']))."', '".mysql_real_escape_string(trim($_POST['Bauch']))."', '".mysql_real_escape_string(trim($_POST['Gesaessumfang']))."', '".mysql_real_escape_string(trim($_POST['Alter']))."', '".mysql_real_escape_string(trim($_POST['Groeße']))."', CURDATE(), ) ";
Auch hier musst du die Spalte Groeße umbenennen auf Groesse! Sowohl im Script als auch in der Datenbank. Zudem hast du in der Angabe der Spalten 2 mal die gleiche Spalte mit unterschiedlichen Namen. Einmal mit Groesse und einmal mit Groeße..entfern auch hier Groeße
|
|
|
08/15/2012, 20:55
|
#7
|
elite*gold: 0
Join Date: Jun 2011
Posts: 670
Received Thanks: 118
|
Fehler behoben.
Vielen Dank Mikesch01
|
|
|
 |
Similar Threads
|
So ein Fehler gibt es nicht, DB alels funzt ingame Fehler -.-
01/19/2012 - Metin2 Private Server - 6 Replies
Hey Com,
ich habe alles gestartet (Hamachi Daroo Files).
Navicat geht, alles funzt nur folgendes:
Wenn ich mich mit falschen Logins einlogge:
Dieser Account existiert nicht.
Wenn ich richtige Daten eingebe:
Fehler beim Verbinden mit dem Server
|
[Root]Setting.lua fehler aber Fehler nicht zu beheben??
08/09/2011 - Metin2 Private Server - 5 Replies
Richte für jemanden den root ein, aber bei dem fehler bin ich jetzt selber an meine grenzen gekommen.
Folgender Fehler kommt beim starten:
http://www.fotos-hochladen.net/uploads/unbenan11n tij3uvlnr5d.png
Die syserr daneben gehört dazu, die Setting.lua habe ich schon durch getauscht, kommt aber immer noch der Fehler :confused:
Datenbank auch schon getauscht, aber was ist dieses:
|
Infinite Aion: Fehler (1024) Fehler beim initialisieren des Spiels
06/09/2011 - Aion Private Server - 5 Replies
Hi Leute,
ich hab ein Probem mit AION:
jedesmal wenn ich starte, egal ob mit dem NCSoft Launcher oder mit dem Infinite Aion Launcher kommt die Meldung Fehler beim initialisieren des Spiels...
Hab schon alle möglichen Sprachkombinationen durchprobiert, da es überall heißt man soll Region und Sprache beim NCSoft Launcher ändern und dann gehts...
Alles probiert, und siehe da: geändert hat sich nichts... Immer noch der Fehler 1024...
wäre nett, wenn mir da jemand helfen könnte und auch...
|
Fehler beim Skype deinstallieren [Fehler 1603]
06/08/2011 - Technical Support - 4 Replies
Überschrift sagt alles.
Ich hoffe jmd kann mir helfen,ich kann auch einen Sceenshot machen.
|
Fehler : java.net.socet.exception:connection reset fehler bitte um hilfe
12/21/2010 - Minecraft - 9 Replies
Hab denn java.net.socet.exception:connection reset fehler immer und immer wieder
:(
könnt ihr mir dabei vill helfen? :)
LG DieVerrückteMango =)
|
All times are GMT +2. The time now is 10:25.
|
|