Problem mit Gästebuch

Moritz123

Erfahrenes Mitglied
Hallo!

ich habe mir ein Gästebuch programmiert, was komischerweise zwar auf meinem lokalen Server einwandfrei funktioniert, aber auf meinem Webserver nicht. Dabei wird scheinbar der Code zwischen Zeile 251 und 347 auf dem Webserver gar nicht erst ausgeführt.
Scheinbar gibt es auch keinen Parse-Error, da keine PHP-Fehlermeldung ausgegeben wird.
Zu sehen ist der Quellcode hier: http://nopaste.php-q.net/9459
Das Script liegt auf meinem Webserver hier:
http://projekte.digitalbiz.de/igs/book.php
Zu verdeutlichen des Problems, einfach mal verwsuchen, dass Formular abzuschicken. Dann erscheint eine Tabelle mit dem Titel "Status", die leer ist.
Hier sollte normalerweise dann der Status (ob der Eintrag eingetragen wurde oder nicht) erscheinen.
Ich weiß nicht mehr weiter - ich kann mir das nicht erklären.

Vielleicht könnt Ihr mir ja weiterhelfen.


Vielen Dank!
 
PHP:
if ($_GET[seite]<$seiten) {
    $i=$_GET[seite]+1;
    echo "&nbsp;<A HREF=\"book.php?seite=$i\">weiter &gt;</A>";
}
?>
</font></center>
<?php
}
// Action = 0: ENDE
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Action = 1: Eintrag verarbeiten
else if($action == "submit"){
Du hast da ein if {} }else if {

Eine Klammer ist da zu viel.
 
Vielen Dank für die Antwort!
Ich habe das geändert - es bringt keine Veränderung.
Außerdem habe ich das
PHP:
elseif($action == "submit"){...
in
PHP:
elseif($_GET[action] == "submit"){...
geändert.
Das hat leider auch nichts gebracht.
Was ich aber überhaupt nicht verstehe, ist, dass es bei mir lokal einwandfrei funktioniert und auf dem Webserver nicht.
 
wenn kein parse error ausgegeben wird, dann wird es auch nicht an der if anweisung liegen, wobei dies durchaus möglich sein könnte...

falls es aber nicht das war, probier mal dass du diese Zeile

PHP:
else if($action == "submit")

in

PHP:
else if($_GET['action'] == "submit")

änderst, ( also nicht [action] sondern ['action'] )

denn vielleicht ist auf deinem webserver register_globals auf off....

hoffe ich konnte dir helfen...


mfg
 
Weil da an so vielen Stellen was schief laufen kann (funktioniert MySQL? Sind die Abfragen korrekt ausgeführt? Heissen die Tabellen gleich?) würde ich vorschlagen, dass du überall wo es hängen kann die wichtigen Variablen ausgibst mit echo. Dann siehst du wo etwas hängt. Ein bisschen Arbeit, aber effektiv.
 
Zuletzt bearbeitet:
Das müsste alles korrekt sein.
Sonst würde
a) die Ausgabe der Einträge auf der ersten Seite und
b) das Script auf meinem lokalen Server
nicht funktionieren, oder?
 
Du sagtest doch ab Zeile 251 passiert nix. Ich kann mir da leider wenig drunter vorstellen. die MySQL Abfrage? Speichert er die Daten korrekt? Werden die Variablen so gesetzt wie du es willst? Achte auf jeden Fall auf die globalen Variablen. Die können anders gesetzt sein bei deinem Provider.

echo...
 
Also alle globalen Variablen kommen scheinbar an.
Ich habe nun folgendes in den Zeilen 282 bzw 362 eingefügt:
PHP:
echo "Datum: $_POST[datum]<br>IP: $_POST[userip]<br>Name: $_POST[name]<br>EMail: $_POST[email]<br>URL: $_POST[url]<br>Text: $_POST[text]";

Auffällig ist hier das lediglich eine Ausgabe in der Zeile 362 durchgeführt wird.
 
Das kann ja dann nur mit der IF-Abfrage zu tun haben

PHP:
                if(($_POST[name] == "") || ($_POST[name] == " ") || ($_POST[email] == "") || ($_POST[email] == " ") || ($_POST[text] == "") || ($_POST[text] == " ")){

BTW wieso verwendest du eigentlich manchmal "" und manchmal " "?

Welche PHP Versionen werden verwendet (Webserver und Heim)?
 
Zurück