Das funzt irgendwie nicht
coconut123
- php
0 Peter Pan0 coconut1230 Di Kokusnus is häpi0 EKKi
Hallo! Erst mal der Code:
<?php
//Mit Get hol ich mir den Inhalt des Formulars...
$nickname = $_GET['Nickname_form'];
$email = $_GET['Email_form'];
$homepage = $_GET['Homepage_form'];
$ort = $_GET['Ort_form'];
$geschlecht = $_GET['Geschlecht_form'];
$kommentar = $_GET['Kommentar_form'];
$submit = $_GET['Submit_form'];
//Connecte meine DB "wm-tippspiel"
@ $db = new mysqli('localhost','root','','wm-tippspiel');
?>
Dann in html das Formular:
<html>
<div style="width: 600px">
<fieldset><legend>Neuen Eintrag hinzufügen</legend>
<form name="Neuer_Eintrag" method="" action="">
<table>
<colgroup>
<col><col><col>
</colgroup>
<tr>
<td>Spitzname</td><td><input type="text" name="Nickname_form"></td><td></td>
</tr>
<tr>
<td>Email</td><td><input type="text" name="Email_form"></td><td></td>
</tr>
<tr>
<td>Homepage</td><td><input type="text" name="Homepage_form"></td><td></td>
</tr>
<tr>
<td>Ort</td><td><input type="text" name="Ort_form"></td><td></td>
</tr>
<tr>
<td>Geschlecht</td><td><input type="radio" name="Geschlecht_form" value="w"> weiblich <input type="radio" name="Geschlecht_form" value="m"> männlich</td><td></td>
</tr>
<tr>
<td>Kommentar</td><td><textarea name="Kommentar_form"></textarea></td><td></td>
</tr>
<tr>
<td colspan="3"><input type="submit" name="Submit_form" value="Veröffentlichen"></td>
</tr>
</table>
</form>
</fieldset><br><br>
</div>
</html>
Und dann verarbeite ich das ganze...
<?php
//Eintrag verarbeiten
if(!empty($nickname) && !empty($email) && !empty($kommentar)){
$new_Eintrag = $db->query("INSERT INTO gaestebuch-eintraege SET nickname='$nickname', email='$email', ort='$ort', geschlecht='$geschlecht', kommentar='$kommentar', homepage='$homepage'");
echo "<br><br>Klasse, bei der Registrierung ist alles glatt gelaufen... Danke, dass du dabei bist...";
}
else {
echo "<br>Sorry - leider ist was beim registrieren schief gelaufen. Nähere Infos erhälst du ja oben...";
}
?>
Sorry das ich euch jez so mit infos zumülle, aber könnte jemand meine fehler erklären und berichten? Denn wenn ich dann auf den submit-button drücke, macht er dennoch keinen eintrag in mysql.
vielen dank, mfg coconut123
Hi!
@ $db = new mysqli('localhost','root','','wm-tippspiel');
?>
Du unterdrückst hier eine möglicherweise aufschlußreiche Fehlermeldung.
Wie sieht die Query aus, die Du an den DB-Server übergibst?
Also, was sagt: ~~~php
echo "INSERT INTO gaestebuch-eintraege SET nickname='$nickname', email='$email', ort='$ort', geschlecht='$geschlecht', kommentar='$kommentar', homepage='$homepage'";
~~~?
Fehlermeldungen solltest Du unbedingt mit posten - sorge notfalls dafür, dass Du eine solche erhälst.
BTW: das Umkopieren der Daten aus dem superglobalen Array $\_GET ist unnötig und evtl. kritisch!
off:PP
--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
Ähhhh?
Ich versteh' nur Bahnhof!
1. Da kommt gar keine Fehlermeldung
2. Was wär' den besser als GET? Vielleicht REQUEST?
danke, mfg coconut123
Hi!
Ähhhh?
Angenehm - Peter Pan!
Ich versteh' nur Bahnhof!
Dann frage doch bitte gezielt nach, damit man Dir helfen kann!
- Da kommt gar keine Fehlermeldung
Dazu schrieb ich bereits etwas.
- Was wär' den besser als GET?
Das ist _im Moment_ irrelevant.
Vielleicht REQUEST?
Nein! Es wäre aber sinnvoll - insbesondere bei größeren Datenmengen - die Methode POST zu verwenden.
off:PP
Jipp, das hab' ich jez ausprobiert, und dann steht da beispielsweise:
INSERT INTO gaestebuch-eintraege SET nickname='bubub', email='bubub', ort='bubub', geschlecht='', kommentar='ububu', homepage='bubub'
aber wenn ich dann method auf POST setze, passiert bei neuer eingabe nüscht...
dennoch weiß ich jez nicht, worauf du hinauswillst!
HELP!
Hi!
INSERT INTO gaestebuch-eintraege SET nickname='bubub', email='bubub', ort='bubub', geschlecht='', kommentar='ububu', homepage='bubub'
Die Syntax ist komplett falsch - das habe ich vorher übersehen - sorry!
Versuche es so:
INSERT INTO gaestebuch-eintraege (nickname, email, ort, geschlecht, kommentar, homepage)
VALUES ('bubub', 'bubub', 'bubub', '', 'ububu', 'bubub')
SET etc. gibt es in SQL bei UPDATE, aber nicht beim INSERT.
aber wenn ich dann method auf POST setze, passiert bei neuer eingabe nüscht...
Die HTTP-Methode hat nichts damit zu tun!
HELP!
Locker bleiben und nicht schreien bitte!
off:PP
HELP!
Locker bleiben und nicht schreien bitte!
GRRRR! Wie denn? Das funktioniert auch nicht!!! MANNNNN!
Diese *******, und ***** *** ******** **
Hi!
GRRRR! Wie denn? Das funktioniert auch nicht!!! MANNNNN!
Was genau hast Du gemacht?
Kennst Du mysqli::connect_error und mysqli::error?
off:PP
1. Iwie trifft kein fall darauf zu, weil ich die db mit @ $db aufrufe
2. er zeigt an (fall 2), das es eine unbekannte systemvariable a nicht gibt...:
Errormessage: Unknown system variable 'a'
Hilfe nochmal!
Hi!
Wenn es um SQL und Datenbanken geht hat Vinzenz _immer_ recht - siehe:
https://forum.selfhtml.org/?t=196292&m=1314973
off:PP
Hallo,
INSERT INTO gaestebuch-eintraege SET nickname='bubub', email='bubub', ort='bubub', geschlecht='', kommentar='ububu', homepage='bubub'
Die Syntax ist komplett falsch -
sie ist falsch, das ist richtig.
das habe ich vorher übersehen - sorry!
Du hast etwas anderes übersehen ...
SET etc. gibt es in SQL bei UPDATE, aber nicht beim INSERT.
... denn sicher gibt es SET bei INSERT.
Die Fehlermeldung, die die Kokosnuss sich nicht anzeigen lässt, lautet in etwa:
"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 '-eintraege SET nickname=..."
Wenn man außer dem sehr eingeschränkten Zeichenvorrat, der als nicht speziell angesehen wird, noch andere Zeichen in seinen Tabellennamen (Spaltennamen, Datenbanknamen, ...) benutzt, muss man den Namen quoten, siehe Handbuch.
Welches spezielle Zeichen hier verwendet wurde, sollte aus der Fehlermeldung hervorgehen :-)
Freundliche Grüße
Vinzenz
Hi Vinzenz!
Wo bleibst Du denn solange? ;)
INSERT INTO gaestebuch-eintraege SET nickname='bubub', email='bubub', ort='bubub', geschlecht='', kommentar='ububu', homepage='bubub'
Die Syntax ist komplett falsch -
sie ist falsch, das ist richtig.
das habe ich vorher übersehen - sorry!
Du hast etwas anderes übersehen ...
Ja, jetzt sehe ich das auch!
SET etc. gibt es in SQL bei UPDATE, aber nicht beim INSERT.
... denn sicher gibt es SET bei INSERT.
Oops - yo!
Die Fehlermeldung, die die Kokosnuss sich nicht anzeigen lässt, lautet in etwa:
"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 '-eintraege SET nickname=..."
Wenn man außer dem sehr eingeschränkten Zeichenvorrat, der als nicht speziell angesehen wird, noch andere Zeichen in seinen Tabellennamen (Spaltennamen, Datenbanknamen, ...) benutzt, muss man den Namen quoten, siehe Handbuch.
Verdammte Backticks!
Welches spezielle Zeichen hier verwendet wurde, sollte aus der Fehlermeldung hervorgehen :-)
Ja, das habe ich wirklich übersehen - aber dafür gibt es ja glücklicherweise Dich hier!
off:PP
Mal ne frage: Wieso sehe ich diesen Eintrag nicht???
Der Datenbank name: natürlich, da ist ein - drin, aber daran kann nicht liegen...
Hi!
Mal ne frage: Wieso sehe ich diesen Eintrag nicht???
Welchen Eintrag?
Der Datenbank name: natürlich, da ist ein - drin, aber daran kann nicht liegen...
Ähm: Sicher?
off:PP
Hallo,
Mal ne frage: Wieso sehe ich diesen Eintrag nicht???
weil keiner vorgenommen wird, weil die SQL-Syntax fehlerhaft ist.
Der Datenbank name: natürlich, da ist ein - drin, aber daran kann nicht liegen...
im Tabellenname ist auch ein Minuszeichen drin, Du schreibst:
"INSERT INTO gaestebuch-eintraege".
Der Tabellenname ist nicht gequoted, das ist auf jeden Fall ein Fehler, den MySQL nicht durchgehen lässt.
Freundliche Grüße
Vinzenz
Aha, schritt weiter: mysql zeigt an, das die db gecrasht ist ;)
okay leute, jetzt schließ ich den thread wieder: tatsächlich - ich hab ne neue tabelle angelegt und schwupdiwupp war alles okay :)))))
Mahlzeit Di Kokusnus is häpi,
leute, jetzt schließ ich den thread wieder:
Ganz sicher nicht.
tatsächlich - ich hab ne neue tabelle angelegt und schwupdiwupp war alles okay :)))))
Ganz sicher nicht.
MfG,
EKKi
OH DOCH! UND OB - denn ich bin häppi!!!