Frage zu Newsletter-Box
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
adresse
anfrage
austragen
benutzer
button
code
datenbank
datum
eintragen
email
fehler
grad
post
raten
schritt
server
syntax
testen
verbindung
-
Hallo!
Ich möchte auf meiner Webseite gern eine Newsletter-Box einrichten. Jedoch habe ich ein kleines Problem: Ich benötige 2 Buttons; 1x eintagen, 1x austragen. Ich möchte gern beides mit dem einen Formularfeld, in das man die E-Mail-Adresse eingibt, kombinieren. Ist so etwas möglich? Wenn ja, wie? Ich bin am Verzweifeln, weil ich schon einige Dinge durchprobiert habe, aber leider keinen Schritt weiter :( -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<input type="submit" value="eintragen" name="submitbutton" /><br /> <input type="submit" value="austragen" name="submitbutton" />
Dann kannst du $_GET["submitbutton"] einfach über PHP auslesen, der Parameter hat dann jeweils den Value des geklickten Buttons. -
newwarrior schrieb:
Ah, jetzt weiß ich, wo die ganze Zeit mein Fehler lag ... ich hab das ständig mit POST versucht, statt mit GET :P
Vielen Dank ;)
Hättest du auch mit $_POST machen können.
Würde ich auch raten, weil so kein Benutzer die Daten im GET ändern kann!
UNd dann einfach abfragen mit
if isset($_POST["austragen"])
So ungefähr. Hab grad keine PHP-Syntax intus, da ich mommentan nicht damit Programmiere :S -
newwarrior schrieb:
Ah, jetzt weiß ich, wo die ganze Zeit mein Fehler lag ... ich hab das ständig mit POST versucht, statt mit GET :P
Vielen Dank ;)
Hättest du auch mit $_POST machen können.
Würde ich auch raten, weil so kein Benutzer die Daten im GET ändern kann!
UNd dann einfach abfragen mit
if isset($_POST["austragen"])
So ungefähr. Hab grad keine PHP-Syntax intus, da ich mommentan nicht damit Programmiere :S
Wenn eher so:
<?php if(isset($_POST['eintragen'])) { } elseif(isset($_POST['austragen'])) { } ?>
-
Jetzt erst kam ich dazu, das ganze einmal zu testen. Aber das Ergebnis ist gleich null ... mit den letzten eurer Posts kam ich gar nicht zurecht
Ich habe das wie folgt versucht, was jedoch nicht den gewünschten Erfolg einbrachte:
<?php $email=$HTTP_POST_VARS['email']; $submit=$HTTP_GET_VARS['submit']; $db=mysql_connect("server","user","passwort") or die("<b>Keine Verbindung zum Datenbankserver!</b>"); mysql_select_db("datenbank") or die("<b>Datenbank konnte nicht angesprochen werden! </b>"); if($submit==eintragen) { $anfrage="INSERT INTO newsletter VALUES ('"; $anfrage.=$email; $anfrage.="')"; mysql_query($anfrage) or die("<b>Fehler bei der Datenbankanfrage!</b>"); print("Vielen Dank, dass Sie sich für unseren Newsletter eingetragen haben!"); } if($submit==austragen) { $anfrage="DELETE FROM newsletter WHERE email ('"; $anfrage.=$email; $anfrage.="')"; mysql_query($anfrage) or die("<b>Fehler bei der zweiten Datenbankanfrage! </b>"); print("Ihre E-Mail-Adresse wurde erfolgreich aus unserer Datenbank gelöscht!"); } mysql_close($db); ?>
-
WIE übergibst du die sachen nun
wenn per Post:
und oben hab ich mist mit dem isset geschrieben auf bezug von truewebs code.
der button-code müsste wie folgt lauten um den unten stehenden code auszuführen.
<input type="submit" value="Eintragen" name="eintragen" /> <input type="submit" value="Austragen" name="austragen" />
<?php $email=$_POST['email']; $db=mysql_connect("server","user","passwort") or die("<b>Keine Verbindung zum Datenbankserver!</b>"); mysql_select_db("datenbank") or die("<b>Datenbank konnte nicht angesprochen werden!</b>"); if(isset($_POST['eintragen'])) { $anfrage="INSERT INTO newsletter VALUES ('".$email."')"; mysql_query($anfrage) or die("<b>Fehler bei der Datenbankanfrage!</b>"); print("Vielen Dank, dass Sie sich für unseren Newsletter eingetragen haben!"); } elseif(isset($_POST['austragen'])) { $anfrage="DELETE FROM newsletter WHERE email ('".$email."')"; mysql_query($anfrage) or die("<b>Fehler bei der zweiten Datenbankanfrage!</b>"); print("Ihre E-Mail-Adresse wurde erfolgreich aus unserer Datenbank gelöscht!"); } mysql_close($db); ?>
-
Funktioniert das mit dem "WHERE email ($email)" wirklich? Oder sollte das doch "WHERE email = $email" heißen? ;)
-
Jap, zeigte mir erst einen Fehler an ... aber mit dem Gleichheitszeiten funktioniert es. Ich danke euch
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage