Problem mit INSERT INTO
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
bedingung
befehl
beispiel
button
code
dank
datei
datenbank
eingabe
fehler
formular
header
index
login
post
problem
senden
text
verarbeiten
-
Hi Leute ich habe ein Problem mit diesem INSERT und zwar passiert bei der Datenbank gar nichts.
Ich habe echt schon viel versucht^^ aber ich komm hinter das Problem, es scheint am INSERT zu liegen da ich aus der Datenbank auslesen kann.
Zur Info "db.asp" ist der Verbindungsaufbau.
Ich hoffe ihr könnt mir helfen :)
<?php include ('db.asp'); echo '<form method="post" action="index.php?section=admin"> <input type="password" name="passwort" value=""> <br> <input type="submit" name="button_1" value="Login"> </form>'; if(md5($_POST['passwort']) == 'fe008700f25cb28940ca8ed91b23b354') { echo 'Hier meine Freunde könnt ihr die News direkt ändern.<br> <form method="post" action="'.$_SERVER["PHP_SELF"].'"> <textarea name="Text" rows="10" cols="80"></textarea> <br> <input type="submit" name="button" value="Aktualisieren"> </form>'; if(isset($_POST['button'])) { $sqladd="INSERT INTO reftec.news (News) VALUES ('".$_POST['text']."')"; if ($result = mysql_query($sqladd)) { Header("Location: index.php?section=aktuelles"); } else { print "konnte query nicht ausfuehren:".mysql_error(); } } } mysql_close(); ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ja das stimmt aber daran liegt es nicht habs gerade versucht, aber trozdem danke :)
-
hab ich auch schon versucht da funktioniert es :(
ich weiß echt nicht mehr weiter.
das komische ist auch, wen ich den befehl headerlocation ganz raus lasse werde ich trozdem verlinkt.
Liegt es vielleicht daran das ich 2 froms drin habe? das er aber nur ein form verarbeiten kann oder so ? kann das sein? -
Naja sagen wir mal so, deine Query wird NIE erreicht, also auch NIE ausgeführt. Warum sollte also ein Fehler kommen?
Du hast eine Seite mit 2 Bedingungen, d.h. dein Insert kann man nur erreichen wenn beide Bedingungen erfüllt sind.
Beispiel:
Man ruft die Seite auf -> kommt die Login Eingabe -> ok gibt man was ein ...Login
->dann kommt dein Login und das zweite Formular -> gibt man was ein und geht auf aktualisieren.
-> dadurch wird nur noch das Post[button] übermittel -> erste Bedingung (Post[passwort] ist nicht erfüllt
-> es wird nur der Login angezeigt
Hoffe das hilft ein wenig.
Grüßle
PS: wobei ich nicht weiß ob index.php?section=admin wieder bei dir dort in der Datei ankommt
Beitrag zuletzt geändert: 14.5.2009 11:24:41 von scout -
also liegt es daran das ich 2 Forms habe hm okay dann werd ich mir was anderes Überlegen müssen aber danke :)
-
Es ist egal wie viele Formulare Du auf einer Seite hast, es wird eh nur das Formular gesenden in dem auch der Submitbutton gedrückt wurde.
An Deiner Stelle würde ich die Abfrage ein wenig verfeinern, so das Du sicher sein kannst dass der Script nur auf das Formular reagiert auf das es reagieren soll. Hier mal ein Beispiel:
<?php // Formularverarbeitung -> if($_SERVER['REQUEST_METHOD'] == 'POST' AND isset($_POST['comment']) AND 'Senden' == $_POST['comment']) { // Weitere Verarbeitung -> .... } ?> <from method="post"> <!-- Action ist nur notwendig, wenn der der Script der das Formular verarbeiten soll nicht in der selben Datei liegt. --> <input type="text" name="inhalt" /> <input type="submit" name="comment" value="Senden" /> </form>
Mit "$_SERVER['REQUEST_METHOD'] == 'POST'" ist zwar nicht wirklich nötig, ich verwende es aber dennoch aus reiner Gewohntheit, pflicht ist es aber nicht. Wichtiger ist der Teil "isset($_POST['comment']) AND 'Senden' == $_POST['comment']", hier wird zum einem geprüft ob der sich ein Value mit dem Key "comment" im $_POST Array befindet und der Key "Comment" den Value "Senden" enthällt. So stellst Du sicher das der Script zu 99,9% nur auf dieses Formular reagiert. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage