Gästebuch und Kontakt

Hi User,

mal eine Frage…

Auf meiner Webseite www.don-ambiente.de habe ich ein Gästebuch und einen Kontakt eingebaut, doch sobald ich die .PHP Datei auf den Server lade, verschwindet erstens der Abschnitt mit PHP im Quelltext oder die Seite wird einfach nicht angezeigt.

Hier beide Adressen:

don-ambiente.bplaced.de/kontakt.php
don-ambiente.bplaced.de/gaestebuch.php

Wo liegt der Fehler und dann noch einmal, warum die E- Mails aus dem Kontakt nicht bei mir ankommen?

Danke im Vorraus.

René

Hiho,
das Design der Page ist echt net und das Kontaktformular auch. Nur erschließt sich mir der Sinn eines IP-Bans nicht so recht, vielleicht kannst du mich ja auch aufklären. Ich meine, ich krieg spätestens(aber wirklich allerspätestens) alle 24h ne neue IP, wenn ich mir nicht sogar früher eine hol. Und dann ist das ganze recht sinnfrei, oder versteh ich da was falsch?

Dann meine nicht nur weil du immer eine neue bekommst, tun das andere auch. Gewiss, die meisten in Deutschland haben wohl eine dynamische IP, aber nicht alle. Es bietet sich auch ein Range-Ban an, der allerdings auch wieder nur bedingt wirkt. Für Beleidigende User (Internet Möchtegerns) könnte man ja cookies auf deren Rechner speichern, und dann auf diese überprüfen. Wirkt natürlich auch nicht immer. Fazit: Den totalen Spam-Schutz gibt es nicht, außer du sperrst per .htaccess alle aus :ps:

[quote=„server-01“]Achja, wegen deinen Problem, ich verwende für kontaktformular kein .php sonder html.
funkt sehr gut, und dir wird dann das eingegebene per mail zugeschickt.
[/quote]
LOL! Html kannst in einem .php genauso schreiben… :wink2:
*edit: Hab mir den Service mal angesehen, der verwendet doch auch .php :astonished:
Nur das Formular ansich verwendet Html. Man kann das ganze auch kombinieren :wink:
@ambiente: Der PHP Code verschwindet, das ist normal, denn er wird vom Server geparst. Wenn er nicht verschwinden würde, könnte ja jeder Datenbankpasswörter auslesen :wink:

Zu deinem Problem, das Kontaktformular geht soweit, ob auch was ankommt weiß ich nicht. Im Gästebuch ist ein Parse Error, wie ein Kollege Im Showroom schon erläutert hat, bitte ausbessern…Wenn weitere Fragen bestehen…wir stehen dir zu Diensten :ps:

Was ist ein Parse Error?

PHP ist kein Fach dass ich behersche, die Codes sind von Freunden gecodet. Die wissen aber auch nicht was das Problem dabei ist. Dann wäre mir auch noch lieb, wenn du mir sagen könntest, wo dieses Thema liegt. Der Showrrom ist immerhin riesig :wink:

An den ersten Eintrag: As ganze Dient zur Abschrekung, es ist aber möglich. Ich bin nur ein Hobbybastler, tut mir leid. Ich kann dir nur aus Erfahrung sagen, dass diese Abschrekung Sinn macht. Es kommt keinerlei Werbung mehr an…

MfG: René

Schick mir den Code per PM, wenn du ihn nicht hier posten willst. Ich bessere dir das aus.

@ Mgier, gut, dann habe ich ja nicht falsch gedacht. Aber ich denke, wer beleidigen will, der weiß auch wie das geht :wink:!

Du hast nicht falsch gedacht, aber eben nicht ganz richtig. Immer dieser mittlere Weg, nicht? :stuck_out_tongue: Aber nun lassen wir den Thread hier mal in Ruhe ;D

Ich will ja nicht als Nörgler dastehen, aber Spambots machen sich nicht viel aus Abschreckung :ps:

[quote]function clean_string($input)
{
$homepage=clean_string($_POST[‘homepage’]);
$text=clean_string($_POST[‘text’]);
$input=strip_tags($input);
$input=htmlentities($input);
$input=trim($input);
$input=stripslashes($input);
return $input;
}[/quote]

Laut Server soll jetzt hier ein Fehler sein, schaut doch aber alles gleich aus?

Wo soll den der Fehler sein?

Server Meldung:

Und nach Code ist Zeile 263 wohl das hier:

Ok, ich tu das nur ungern, aber was solls:

[quote]

Neuer Eintrag:



Ihr Name:



Ihre Homepage:



Ihre E-Mail:



Ihre Nachricht:









<?php function clean_string($input) { $homepage=clean_string($_POST['homepage']); $text=clean_string($_POST['text']); $input=strip_tags($input); $input=htmlentities($input); $input=trim($input); $input=stripslashes($input); return $input; } $name=clean_string($_POST['name']); $text=clean_string($_POST['text']); $date=date("d.m.Y")." (".date("H:i:s").")"; $error=0; if(isset($_POST['submit'])) { if(empty($name)) { echo "Bitte geben Sie Ihren Namen an!
"; $error=1; } if(empty($text)) { echo "Bitte geben Sie einen Nachrichtentext ein!
"; $error=1; } if($error!=1) { $file=file_get_contents($gbfile); $file="".$name." schrieb am ".date("d.m.Y")." um ".date("H:i:s")." E-Mail: " . $email . ", Homepage: " . $homepage . " :
".$text."|\n".$file; if (file_put_contents($gbfile, $file)) { echo "Ihr Eintrag wurde gespeichert!
"; } else { echo "Ihr Eintrag konnte nicht gespeichert werden! Bitte erneut versuchen!
"; } } } ?>
    <hr width="400" />
<?php $gbfile="gaestebuch.txt"; $file=file_get_contents($gbfile); $file=explode("|", $file); for ($i=0; $i<count($file)-1; $i++) { echo $file[$i]."

"; } ?>[/quote]

Na ja, ich finde nichts…

Was noch auffält ist das Design:

don-ambiente.de/gaestebuch.php Woran kan das wohl liegen?
Dort gibt es keinen Fehler im HTML…

In dem

ist nix drin, würde ich sagen. Weil du über den HTML Code keinem Feld den ‘homepage’ Wert zuweist.

Ihre Homepage:<br /> <input type="text" name="name" /><br />]

Müsste lauten:

Ihre Homepage:<br /> <input type="text" name="[b]homepage[/b]" /><br />]
Probiers mal, ob das hilft :smiley:!

[quote]function clean_string($input)
{
$homepage=clean_string($_POST[‘homepage’]);
$text=clean_string($_POST[‘text’]);
$input=strip_tags($input);
$input=htmlentities($input);
$input=trim($input);
$input=stripslashes($input);
return $input;
}[/quote]

Ich glaube es liegt an einer unendlichen Schleife, du rufst in der Funktion clean_string nochmal selbige Funktion auf, und wenn diese nochmal aufgerufen wird, ruft diese wieder selbige auf, und so weiter und so fort…bis eben der Speicher voll ist und bplaced streikt.
Ich lasse mich gerne eines besseren belehren.
Du musst

$homepage=clean_string($_POST['homepage']); $text=clean_string($_POST['text']);
außerhalb der Funktionsbeschreibung aufrufen.
Also in etwa so:

function clean_string($input) { $input=strip_tags($input); $input=htmlentities($input); $input=trim($input); $input=stripslashes($input); return $input; } $homepage=clean_string($_POST['homepage']); $text=clean_string($_POST['text']);

Und BB-Code im name-Feld führt sicher nicht zur Lösung :wink:

Guckt sich doch mal bitte einer den Quelltext der Seite an. Ganz unten ändert der Server den Code um… Für mich nicht verständlich…

Ahja, stimmt, die Schleife wird wohl ein größeres Problem sein. Und naja,ich hab probiert es hervorzuheben :wink:, bin halt unfähig :smiley:!

[quote]Ich glaube es liegt an einer unendlichen Schleife, du rufst in der Funktion clean_string nochmal selbige Funktion auf, und wenn diese nochmal aufgerufen wird, ruft diese wieder selbige auf, und so weiter und so fort…bis eben der Speicher voll ist und bplaced streikt.
Ich lasse mich gerne eines besseren belehren.
Du musst
[/quote]

Hast du ne Idee wie das gehen sollte?

Hab dir doch eh schon geschrieben was du versuchen kannst, mach mal folgendes, anstatt der der funktion clean_string.
Wenns funktioniert, wars der Fehler, wenn nicht, pech gehabt und jemand der mehr wissend als ich ist muss da mal ran.

function clean_string($input) { $input=strip_tags($input); $input=htmlentities($input); $input=trim($input); $input=stripslashes($input); return $input; } $homepage=clean_string($_POST['homepage']); $text=clean_string($_POST['text']);

Und das mit dem Design, wenn ein Error im Code ist, kannst nicht fehlerfreie Anzeige erwarten :wink:

Funzt…

Bin mal gespannt wie lange der Server braucht, um den Eintrag an zu zeigen…

Danke Leute ^.*

Sollte der nicht direkt angezeigt werden?

So, nächstes Problem… Langsam halte ich mich für unfähig ;D

Die Einträge werden nicht in der gaestebuch.txt gespeichert, also dem entsprechend auch nicht angezeigt, ist da ein Tippfehler unter der


?

Wie sieht den der Code zum speichern in der Textdatei aus?