PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lokal wird in die DB eingetragen, auf dem Server nicht



fanrpg
25.07.2005, 16:24
Also ich hab ein Problem, nach der Server neuinstallation tuts meine Gästebuch nicht mehr, lokal funzt das perfekt wie immer aber nicht mehr auf dem Space o.ô

Hier mal der code:

<?php
include("config.php");
if(isset($submit)) {
if ($_POST['name'] != "" && $_POST['email'] != "" && $eintrag != "")
{
$eintrag = nl2br($eintrag);
/* Schutz vor Java Script */
$eintrag = str_replace("<script type=\"text/", "Ich bin ein doof ich will hier Scripts reinbringen <!--", $eintrag);
$eintrag = str_replace("<script>", "Ich bin ein •••••••••, ich will hier Scripts reinbringen <!--", $eintrag);
$eintrag = str_replace("type=\"javascript\"", "ich bin so ein Drecks••••••••• <!--" , $eintrag);
$eintrag = str_replace("</script>", "-->Ich will Scripts einsetzen und bin ein Drecks•••••••••", $eintrag);
/* Ende Schutz vor Java Script */
/* Schutz vor HTML */
$nohtml = "<b>Kein HTML erlaubt</b>";
$eintrag = str_replace("<span", $nohtml, $eintrag);
$eintrag = str_replace("style=", $nohtml, $eintrag);
$eintrag = str_replace("<style", $nohtml, $eintrag);
$eintrag = str_replace("<table", $nohtml, $eintrag);
$eintrag = str_replace("<div", $nohtml, $eontrag);
$eintrag = str_replace("<a", $nohtml, $eintrag);
$eintrag = str_replace("border=", $nohtml, $eintrag);
$eintrag = str_replace("<img", $nohtml, $eintrag);
/* Ende Schutz vor HTML */
$gbook_insert = "INSERT INTO `gbook` (name, eintrag, email) VALUES ('".$_POST['name']."', '".$eintrag."', '".$_POST['email']."');";
echo mysql_error();
//echo $gbook_insert;
$gbook_query = mysql_query($gbook_insert) or die(mysql_error());
header("location: gbook_view.php");
}
else {
echo "Error! Kein Name, Eintrag oder keine E-Mail Adresse eingegeben";
}
}

?>
<form method="post">
<table border="1" width="50%" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#000000" colspan="2"><font size="+2"><font color="#FFFFFF">Ins Gästebuch eintragen</font></font></td>
</tr>
<tr><td width="35%">
Name:</td><td width="35%"> <input name="name" type="text"><br>
</td></tr><tr><td>
E-Mail Adresse: </td><td> <input name="email" type="text"><br></td></tr><tr><td colspan="2">
Text:<br><textarea name="eintrag" cols="80" rows="15"></textarea></td></tr><tr><td colspan="2" align="center">
<input name="submit" type="submit" value="Absenden"></td></tr></table>
</form>

Hier um es zu sehen: www.fanrpg.gut4me.de
Könnt gerne testen es funzt irgendwie nicht, lokal funzt das perfekt -.-
Jemand eine Idee?

dead_orc
25.07.2005, 16:31
Vielleicht liegts einfach daran, dass jetzt register_globals deaktiviert ist auf deinem Server. Ersetzt mal die dritte Zeile

if(isset($submit)) {
durch

if(isset($_POST['submit'])) {

fanrpg
25.07.2005, 16:37
damit melder der immer


else {
echo "Error! Kein Name, Eintrag oder keine E-Mail Adresse eingegeben";
}

und register_global is off -.-

liegt das daran?

Kann man das sich aktivieren lassen?

EDIT: Ich habe jetzt das ganze Script angepasst aber der Eintrag wird immer noch nicht abgesendet :( :\


<?php
include("config.php");
if(isset($_POST['submit'])) {
if ($_POST['name'] != "" && $_POST['email'] != "" && $_POST['eintrag'] != "")
{
$_POST['eintrag'] = nl2br($_POST['eintrag']);
/* Schutz vor Java Script */
$_POST['eintrag'] = str_replace("<script type=\"text/", "Ich bin ein doof ich will hier Scripts reinbringen <!--", $_POST['eintrag']);
$_POST['eintrag'] = str_replace("<script>", "Ich bin ein •••••••••, ich will hier Scripts reinbringen <!--", $_POST['eintrag']);
$_POST['eintrag'] = str_replace("type=\"javascript\"", "ich bin so ein Drecks••••••••• <!--" , $_POST['eintrag']);
$_POST['eintrag'] = str_replace("</script>", "-->Ich will Scripts einsetzen und bin ein Drecks•••••••••", $_POST['eintrag']);
/* Ende Schutz vor Java Script */
/* Schutz vor HTML */
$nohtml = "<b>Kein HTML erlaubt</b>";
$_POST['eintrag'] = str_replace("<span", $nohtml, $_POST['eintrag']);
$_POST['eintrag'] = str_replace("style=", $nohtml, $_POST['eintrag']);
$_POST['eintrag'] = str_replace("<style", $nohtml, $_POST['eintrag']);
$_POST['eintrag'] = str_replace("<table", $nohtml, $_POST['eintrag']);
$_POST['eintrag'] = str_replace("<div", $nohtml, $_POST['eintrag']);
$_POST['eintrag'] = str_replace("<a", $nohtml, $_POST['eintrag']);
$_POST['eintrag'] = str_replace("border=", $nohtml, $_POST['eintrag']);
$_POST['eintrag'] = str_replace("<img", $nohtml, $_POST['eintrag']);
/* Ende Schutz vor HTML */


$gbook_insert = "INSERT INTO `gbook` (name, eintrag, email) VALUES ('".$_POST['name']."', '".$_POST['eintrag']."', '".$_POST['email']."');";
echo mysql_error();
//echo $gbook_insert;
$gbook_query = mysql_query($gbook_insert) or die(mysql_error());
header("location: gbook_view.php");
}
else {
echo "Error! Kein Name, Eintrag oder keine E-Mail Adresse eingegeben";
}
}

?>
<form method="post">
<table border="1" width="50%" bgcolor="#CCCCCC">
<tr>
<td bgcolor="#000000" colspan="2"><font size="+2"><font color="#FFFFFF">Ins Gästebuch eintragen</font></font></td>
</tr>
<tr><td width="35%">
Name:</td><td width="35%"> <input name="name" type="text"><br>
</td></tr><tr><td>
E-Mail Adresse: </td><td> <input name="email" type="text"><br></td></tr><tr><td colspan="2">
Text:<br><textarea name="eintrag" cols="80" rows="15"></textarea></td></tr><tr><td colspan="2" align="center">
<input name="submit" type="submit" value="Absenden"></td></tr></table>
</form>

Chocwise
25.07.2005, 18:47
...Kann man das sich aktivieren lassen?...
Evtl. kannst du das auch selbt. Je nachdem was du alles mit .htaccess-Dateien überlaufen darfst.
Müsste aber gehen.

Mach also eine .htaccess-Datei und trag dort ein:
php_flag register_globals on
Die Datei packst du dann in deinen Document-Root.

Besser wäre's aber würdest du dir den Umgang mit den EGPCS-Variablen angewöhnen.