Gästebuch !!Hilfe!!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
banner
benutzen
beschreibung
code
dank
datei
datum
eintrag
eintragen
eintritt
formular
header
nachricht
richtig abschreiben
senden
teil
text
url
verbindung
-
Hallo mal wieder.
Kämpfe mit einem PHP Script für mein Gästebuch.
Das script:
<?php $url = $_POST['url']; $name = $_POST['name']; $banner = $_POST['banner']; $nachricht = $_POST['nachricht']; $ip = $_POST['ip']; $verbindung = mysql_connect("mysql.lima-city.de", "USER", "PW") or die("Keine Verbindung moeglich"); mysql_select_db("db_110743_3") or die ("Die Datenbank existiert nicht"); $eintrag = " INSERT INTO `onemillionnews` (`url`, `name`, `banner`, `nachricht`, `ip`) VALUES ('$url', '$name', '$banner','$nachricht','$ip')"; $eintragen = mysql_query($eintrag) or die(mysql_error()); ?>
Und als weiteres das Formular:
<form style="margin:0px auto;width:480px;border:1px solid #000000;text-align:left;" action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="post" target="_self"> Ihre Website: <input name="name" type="text" id="name" size="45" value="name"/> Beschreibung ihrer Website:<br /> <textarea name="nachricht" id="nachricht" cols="45" rows="5" value="nachricht"></textarea> </label> <label>Url. zu ihrem Banner bitte hier eintragen: <br /> <input name="banner" type="text" id="banner" size="45" value="banner"/> </label> <input name="Kontrollkästchen" type="checkbox" value="" /> <p>Ich bin mit den Regeln dieser Website vertraut und werde mich an diese halten! </p> <label>Wollen sie diese Daten senden? <input type="submit" name="senden" id="senden" value="Senden" /> </label> <hr align="center" size="3" /> <div align="center"> <input type="hidden" name="ip" id="ip" value="ip"/> <u>Ihre IP Lautet:<? echo $REMOTE_ADDR ?> <? if(isset($_POST['senden'])) { // Eintrag usw }else{ // Formular anzeigen } ?>
Habe jetzt mal etwas komisch gekürzt...
Das Problem liegt in der action "" des Formulars; wie schaffe ich es, dass die Datei gesendet wird und für das senden ds PHP script genau über dem Quellcode benutzt wird?
(also einmal die datei: eintrag.php und die Datei senden.php wobei in senden.php das obige script ist)
wie muss ich das script umformen damit ein formular zu meiner mysql Tabelle gesendet wird?
Hoffe auf hilfe
Onemillion -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
ich verstehe deine letzten Worte nicht.
Das erste Script trägt doch schon die Variablen in die DB oder nicht?
-
einfach action="senden.php" ;)
//EDIT: ehm dein Script ist ziemlich anfällig gegen SQL Injections :D
Beitrag geändert: 13.10.2008 10:40:59 von vercetti -
und wie schaffe ich es, dass nachdem mit dem senden.php das Formular gesendet wurde auf eine seite weitergeleitet wird?
(z.B. danke.php)
-
Hallo,
das kannst du nur mit HTML (oder JavaScript) machen. Du musst nur den Code in dein PHP Script schreiben, z.B.
echo '<head>' echo '<meta http-equiv="refresh" content="3; url=zielurl.htm">' echo '</head>'
Am besten schreibst du dies ganz an den Anfang.
Beitrag geändert: 15.10.2008 14:45:29 von spanky1408 -
Hallo,
das kannst du nur mit HTML (oder JavaScript) machen. Du musst nur den Code in dein PHP Script schreiben, z.B.
echo '<head>' echo '<meta http-equiv="refresh" content="3; url=zielurl.htm">' echo '</head>'
Am besten schreibst du dies ganz an den Anfang.
Beitrag geändert: 15.10.2008 14:45:29 von spanky1408
Und wenn ich will, dass dieser Teil aus einem echo heraus ausgeführt wird?
Also wenn ein bestimmter zstand eintritt wird man automatisch weitergeleite? -
Und wenn ich will, dass dieser Teil aus einem echo heraus ausgeführt wird?
Also wenn ein bestimmter zstand eintritt wird man automatisch weitergeleite?
Kannst du dann nicht if - else dafür benutzen?
<?php if (true/false) { (blablablah) } else { echo 'Was immer du wilst' echo '<head>' echo '<meta http-equiv="refresh" content="3; url=zielurl.htm">' echo '</head>' } ?>
Beitrag geändert: 15.10.2008 19:21:33 von sy -
Und wenn ich will, dass dieser Teil aus einem echo heraus ausgeführt wird?
Also wenn ein bestimmter zstand eintritt wird man automatisch weitergeleite?
Kannst du dann nicht if - else dafür benutzen?
<?php if (true/false) { (blablablah) } else { echo 'Was immer du wilst' echo '<head>' echo '<meta http-equiv="refresh" content="3; url=zielurl.htm">' echo '</head>' } ?>
kann es sein das der code fehlerhaft ist?
er funktioniert leider nämlich icht
Also:
echo '<head>' echo '<meta http-equiv="refresh" content="3; url=zielurl.htm">' echo '</head>'
-
kann es sein das der code fehlerhaft ist?
er funktioniert leider nämlich icht
Also:
echo '<head>' echo '<meta http-equiv="refresh" content="3; url=zielurl.htm">' echo '</head>'
Das war eher als Denkansatz und der Code stammt ja nicht von mir.
Probier doch einfach mal mit
echo "<html>"; echo "<head>"; echo "<meta http-equiv="refresh" content="3; url=zielurl.htm">"; echo "</head>"; echo "</html>";
Beitrag geändert: 15.10.2008 19:28:16 von sy
Beitrag geändert: 15.10.2008 19:32:07 von sy -
funktionit trotzdem nicht...
-
wie sieht denn dein code aus?
also der mit if? denn (blablabla) geht ja schlecht^^
Zeig einfach mal -
<? [...] if ($url == "" OR $name == "" OR $banner == "" OR $nachricht == "") { echo "Bitte füllen Sie alle Angaben aus!<a href='http://onemillion.lima-city.de/.../eintrag.php'>Zurück</a>"; exit; } else { mysql_query($eintrag); echo '<html>' echo '<head>' echo '<meta http-equiv="refresh" content="3"; url= "http://onemillion.lima-city.de/.../danke.php">' echo '</head>' echo "</html>" echo 'Sie werden autmatisch weitergeleitet'; } ?>
kürze mal aus dem text die mysqlverbindung raus.
die funktioniert 100% -
ja, manchmal vergisst man sowas einfaches. Hier der Code der geht:
<?php echo "<html>"; echo "<head>"; echo "<meta http-equiv=/"refresh/" content=/"3; URL=url.php/">"; echo "</head>"; echo "</html>"; echo "Sie werden automatisch weitergeleitet."; ?>
die " bei refresh und content müssen escapet werden.
€dit:
Toll, bei lima gehen ja keine Backslashes.
Also mal anders. s.o
Backslahses = Slashes. Musste halt ändern. Sorry.
Beitrag geändert: 15.10.2008 20:26:50 von sy -
die " bei refresh und content müssen escapet werden.
Jein ;) Er hatte das Ganze ja in einfachen Anführungszeichen (''). Aber Strichpunkte am Ende einer Zeile sollen oftmals Wunder helfen... ansonsten gilt natürlich wie üblich: Fehlermeldung posten, meine Kristallkugel ist schon wieder in Reparatur.
Edit sieht noch: Richtig abschreiben will offensichtlich auch gelernt sein.
Richtig:
content="3; url=zielurl.htm"
Falsch:
content="3"; url="zielurl.htm" -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage