GB-Einträge werden nach Serverumstellung nicht mehr angezeigt.

Moonmaiden

Grünschnabel
Hey Folks,

nun denn mein erster Beitrag :)

Leider zu einem Thema das offensichtlich viele nicht mehr hören können, deshalb vorn weg: Ja, ich habe hier gesucht, die Tutorials ausprobiert und gegoogelt. Leider ohne Erfolg.

Ich bin ein absoluter Newbie und habe anhand eines kleinen Tutorials ein dateibasiertes Gästebuch erstellt, das lief auch perfekt (wie die ersten beiden Einträge beweisen :rolleyes: ). Nach meinem Serverumzug läuft es nicht mehr. Ich kann zwar das Formular zum Eintragen aufrufen, aber die Einträge selber erscheinen nach dem Senden einfach nicht mehr. Laut meinem Provider hat sich auch Serverseitig nichts geändert, d.h. er bietet nach wie vor cgi, php, mysql ect an.

Ich beschäftige mich jetzt seit 2 Tagen damit und nachdem das Problem auch mit dem wirklich hervorragenden Tutorial von Moertel auftritt, bin ich mit meinem Latein echt am Ende.

Ich habe nun wieder mein eigenes GB aufgespielt, zu sehen ist das ganze unter [moonmaiden]

Hoffentlich könnt ihr mir helfen, sonst geb ich mir bald die Kugel :-)

Bleibt geschmeidig
Moon
 
Zuletzt bearbeitet:
1. Deine seite geht unter Firefox nich rhchtig?
2. Links kannste ganz normal schreiben was willte da mit dem CodeBB?
3. Ohne Code können wir nur unsere Glaskugeln zur rate ziehen, die, wie du ja in meiner Sig ishest, leider im Moment kaputte is :/
 
Stimmt, sorry ist ja auch schon spät :-)

hier also der code:

PHP:
<?php

$name = $HTTP_POST_VARS['name'];
$email = $HTTP_POST_VARS['email'];
$text = $HTTP_POST_VARS['text'];

if($submit)

{
if(($email == "") || ($name == "") || ($text == ""))
echo "<b>Fehlgeschlagen! Bitte alle Felder ausfüllen!</b>";

else
{

$x = 0;

$dateiname = "gbook.txt";

$datei = fopen($dateiname, "r");

while (!feof($datei)) {
$x++;
$saved[$x] = fgets($datei, 1024);

}
$datum = date("d.m.Y");
$zeit = date("H:i");

$datei=fopen("gbook.txt", "w");

$text=strip_tags($text);

fwrite($datei,"<table border=0 width=500 bgcolor=000000 cellspacing=1 cellpadding=3><tr><td bgcolor=ffffff><a href=\"mailto:$email\"><b>$name</b></a> schrieb am $datum um $zeit Uhr</td></tr><tr><td bgcolor=white>$text</td></tr></table>\n");

for ($i=1;$i <= $x; $i++) {
fwrite($datei, "$saved[$i]");
}
fclose($datei);
}
}



$dateiname = "gbook.txt";
$datei = fopen($dateiname, "r");
fpassthru($datei);
?>

Ich habe das wie gesagt mit Hilfe eines Tutorials geschrieben und versuche schrittweise hinter das Mysterium php zu steigen. Da habe ich noch viel zu tun :(
 
Du hattest nen Serverumzug, ne? Kann es sein, dass die gbook.txt Datei einfach keine Schreibfreigabe mehr für die anderen Dateien hat?
 
Hey Divi,

ne habe ich berücksichtigt. Habe es mit 777 und 755 versucht, habe die Rechte per Häkchen gesetzt und ich habe das gesamte Verzeichnis auf 777 gesetzt, null Erfolg.

Das Problem scheint irgendwie in der Variablenübergabe zu liegen. Ich habe es ja auch, wie schon geschrieben, auch mal mit dem Tut
von Moertel versucht, gleiches Problem nur mit dem Unterschied das Du hier nach dem Absenden zumindestens die einzelnen Formularfelder siehst, aber es sieht halt aus, als hätte niemand etwas ausgefüllt, also Name: ....

Und dann kam die große Leere :)

Die E-Mail Benachrichtigung wird auch verschickt, aber da steht dann nur: ... hat sich eingetragen.
 
Kann es sein, das register_globals nun auf off steht? Dann müsstest du die Variablen mit $_POST['name'] auslesen, statt $HTTP... -> sollte helfen
 
Hallo Lumpi,

hat leider nichts gebracht, es sei denn ich habe was falsch geschrieben. Ich hab es so geändert:
PHP:
$name = $_POST['name'];

Kann ich, wenn ich mich auf meinen Server einlogge, sehen ob die register_globals off sind, bzw. könnte mein Provider da was dran ändern?

Dank Dir für den Tipp
 
Moonmaiden hat gesagt.:
Kann ich, wenn ich mich auf meinen Server einlogge, sehen ob die register_globals off sind, bzw. könnte mein Provider da was dran ändern?

erstell dir eine Datei mit follgendem inhalt:

PHP:
<?php
	phpinfo();
?>
ruf die Datei dannach im Browser auf. Jetzt wird dir die PHP konfiguration angezeigt - dort solltest du auch was zu den globals finden...


ciao
 
Hallo Andreas,

habe mal den Check gemacht, dabei ist mir folgendes aufgefallen unter Server API steht Apache 2.0 Handler. Ist das der Server? Das würde ja bedeuten das die Rechtezuweisung mit chmod nicht funktioniert (und das mein Provider kokolores erzählt ;-] ), weil ja nur unter Unix richtig? Wenn ja, wie kann ich dann die Rechtezuweisung handeln?

Hier noch ein Hinweis:

Apache Version: Apache/2.0.48 (Linux/SuSE)

Thanx
Moon
 
Zuletzt bearbeitet:
Nein, Du hast die die Frage bzgl. des Servers eigentlich schon selbst beantwortet. Der Server, auf dem Du bist, ist ein Linux Server und hat eine SuSE Distribution.
Apache ist nur der Webserver(Dienst), aber nicht der Server(Rechner) selbst.
Die Rechtezuweisung geht über chmod().

redlama
 
Zurück