Webstatt.org - Community seit 2006 - 2012 (2024?)

Shoutbox - Speicherung klappt nicht

user-156
14.09.2007 12:50

Hallo,
Habe (mal wieder) ein kleines Problem...
Habe veruscht ein Script für eine Shoutbox zu schreiben, aber irgendwie gehts nicht traurig...der interpretiert anscheinend das "$_GET['do'];" nicht.
$username und $id sind bereits definiert.



<?php
$stext="";
$name="";
$do="";
?>

<form name="shoutbox" method="post" action="index.sload?<?php echo"id=".$id; ?>&do=speichern">
<script language="JavaScript" type="text/javascript">
function loeschevalue(valuetext) {
document.shoutbox.name.value = '';
}
function fuellevalue(valuetext) {
if (document.shoutbox.name.value == ''zwinkern {
document.shoutbox.name.value = valuetext;
}
}
</script>
<input name="name" type="text" id="name" onclick="javascript:loeschevalue('Dein Name'zwinkern" value="Dein Name" onblur="javascript:fuellevalue('Dein Name'zwinkern" class="stextinput" /><br />
<textarea name="stext" cols="" rows="2" class="stextinput" id="stext"></textarea>
<br />
<input name="input" type="submit" class="sbutton" value="Absenden">
<input name="input" type="reset" class="sbutton" value="L&ouml;schen">
</form>

<?php
if(!empty($_GET['do'])){
$do = $_GET['do'];
}
if($do == "speichern"zwinkern{
$zeit = time();
$tmy = date("d.m.Y",$zeit);
$uhrzeit = date("H:i:s",$zeit);
$aktzeit = $tmy." - ".$uhrzeit;

$ip=$_SERVER['REMOTE_ADDR'];

$safetext = htmlspecialchars($_POST['stext']);
$name = htmlspecialchars($_POST['name']);
echo $name;
echo $safetext;

$Host = "localhost";
$User = "***";
$Pass = "***";
$Datenbank = "usr_web0_3";

$conn = @mysql_connect($Host, $User, $Pass) or die(" Verbindungsaufbau zum Datenbankserver fehlgeschlagen!"zwinkern;
$dbselect = @mysql_select_db($Datenbank, $conn) or die("Die Userdatenbank reagiert nicht!!"zwinkern;
$sentry = "INSERT INTO `mod_shoutbox` ( `id` , `entry_id` , `username` , `name` , `eintrag` , `user_currentip` , ` current_iptime` )
VALUES ( NULL , NULL , '$username', '$name', '$safetext', '$ip', '$aktzeit' );";
$serstelle = mysql_query($sentry);
echo "Eintrag gespeichert";

}
?>



Vielen user-158k, für jegliche hilfe =) ( im vorraus )

edit (nuit): hab das mysql passwort zensiert
danke^^

user-210
14.09.2007 13:49

Ich kann da auf den ersten Blick keinen richtigen Fehler entdecken.

Ist die Dateiendung "sload" so gewollt?

<form name="shoutbox" method="post" action="index.sload?<?php echo"id=".$id; ?>&do=speichern">


Noch Tipps am Rande:
- zensier dein MySQL-Passwort lieber lächeln
- Bau noch eine Floodsperre ein, sodass die Einträge nicht doppelt und dreifach reingespammt werden.

Sie haben soeben die Position Ihres Mauszeigers auf dem Monitor verändert. Bitte starten sie Windows neu damit die Änderungen wirksam werden.
user-156
14.09.2007 14:29

Original von user-210
Ich kann da auf den ersten Blick keinen richtigen Fehler entdecken.

Ist die Dateiendung "sload" so gewollt?

<form name="shoutbox" method="post" action="index.sload?<?php echo"id=".$id; ?>&do=speichern">


Noch Tipps am Rande:
- zensier dein MySQL-Passwort lieber lächeln
- Bau noch eine Floodsperre ein, sodass die Einträge nicht doppelt und dreifach reingespammt werden.


-Jop, die Dateiendung ist so gewollt.
-Das ist eh nur das MySQL PW von meinen lokalen rechner, wäre sonst ärgerlich gewesen xD. ( user-158ke trotzdem )

Bevor ich floodsperre und captcha einbaue wollte ich erstmal die einträge abspeichern können ^^

Avatar user-236
14.09.2007 14:53

zur fehlersuche:


1.) prüfen ob nach der schleife if($do == "speichern"zwinkern{ eine ausgabe kommt z.b. mit echo 'test';

2.) wie immer in die anfrage "or die (mysql_error())"
ich vermute der fehler liegt an den feldern in der tabelle


gruß
mab

signature in progress
user-156
14.09.2007 15:31

Original von user-236
zur fehlersuche:


1.) prüfen ob nach der schleife if($do == "speichern"zwinkern{ eine ausgabe kommt z.b. mit echo 'test';

2.) wie immer in die anfrage "or die (mysql_error())"
ich vermute der fehler liegt an den feldern in der tabelle


gruß
mab


Nein...Es erfolgt keine Ausgabe...deswegen auch die vermutung, dass der PHP Compiler das "$_GET['do'];" nicht richtig interpretiert traurig

Wenn ich auf Abschicken klicke ist die URL auch richtig gebildet:
http://t*****.s***load.de/index.sload?id=27&do=speichern

Allerdings speichert er, wenn ich die if($do=="speichern"zwinkern -Anweisung weglasse.

Avatar user-162
14.09.2007 15:46

Was sagt error_reporting(E_ALL); ?
(diesen Befehl am Anfang des Scripts nach <?php setzen)

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
user-156
14.09.2007 15:51

Original von user-162
Was sagt error_reporting(E_ALL); ?
(diesen Befehl am Anfang des Scripts nach <?php setzen)

Leider sagt es garnichts :/
solangsam verzweifle ich daran traurig.

Das Error-Log zeigt mir auch keine Fehler :/

Avatar user-162
14.09.2007 16:13

lass mal das ganze GET-Array ausgeben und schau ob du nicht irgendwo oben im Script den Wert verändert hast

...
if(!empty($_GET['do'])){
$do = $_GET['do'];
}
print_r($_GET);
if($do == "speichern"zwinkern{
...

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
user-156
14.09.2007 17:05

Original von user-162
lass mal das ganze GET-Array ausgeben und schau ob du nicht irgendwo oben im Script den Wert verändert hast

...
if(!empty($_GET['do'])){
$do = $_GET['do'];
}
print_r($_GET);
if($do == "speichern"zwinkern{
...

Problem endlich erkannt...das script war völlig fehlerfrei, nur ich habe das $_GET['do']: nicht richtig an die shoutbox gesendet ( Ist jetzt zu kompliziert (für mich) zu erklären ^^). user-158ke trotzdem an alle, die mir so eifrig beim Fehlersuchen geholfen haben zwinkern

MFG,
Tobi