• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[PHP] Guestbook

schwerminator

New member
hi @ all,
ich hab mich ma hingesetzt und nen guestbook in php und einen tick js programmiert...
testet es mal und gebt mir bitte ein feedback.
link
 
Hm, geht ja ganich. Hab was eingetragen, sehs abba nich... Plödes GB... ;)

[edit] Nachm Reload kommts... Haste vergessen nach dem Eintragen die Page zu reloaden?[/edit]
 
das schliess und reload script sieht so aus:
PHP:
<script language="JavaScript"> 
function ende(){  
opener.document.location.href = "guestbook.php";  
self.close();  
}  
</script>
 
Dat kleine Fensterchen schliesst sich. Solls ja auch, aber im Hauptfenster reloadet sich anscheinen nix.

Das war übrigens im Mozarella.
 
ich hab ja das script gepostet, hast du ne ahnung wie ich die browserkompatibilität erreiche?

edit: im opera und ie funzt es nämlich
 
Sollte auch im Mozarella funktionieren. Keine Ahnung warum das net geht. Fehlermeldung kommt keine.
 
Ich würde noch die HTML Klammern deaktivieren.
Mit </html> oder <script> könnte man sonst das layout etwas durcheinanderwerfen.

Aber vielleicht filterst Du diese Tags ja raus, ich habe nur gesehen, dass <font color...> funktioniert...

::edit:: aber sieht hübsch aus!!

luz
 
Zuletzt bearbeitet:
Jetzt geht es. Was mich noch stört ist, das man in dem Eingabefenster von den input-Feldern nicht mit der Tab-Taste in das Textarea springen kann.
 
@manitou: wie macht man das?

@StephanBlanke: ja hab ich gesehen, ich arbeite mal dran. wegen dir ist mein browser fast abgestürzt...

edit: die gbook-datei war 26 mb groß...
und noch ne frage: wie kann ich denn ein limit einbauen?
 
Zuletzt bearbeitet:
function countSmiley ($input, $smile)
{
$anzahl = 0
while(strpos($input , $smile) !== false) { // !== ist wichtig!
$input = substr($input, (strpos($input , $smile) + 1));
$i++;
}
return $anzahl;
}

Und dann:


$smiles = ":)///:-(///:-*";
$smiles = explode ($smiles , "///"); // Kann natürlich direkt ein Array sein...
$count = 0;
foreach ($smiles as $s) {
$count = $count + countSmiley ($input , $s);

}

if ($count > 300) echo "Zu viele Smileys!....";



ungetestet, ich hoffe, es läuft nicht in eine Endlosschleife :)
 
wo muss ich das denn einfügen???
in das formular oder in das php-script das aufgerufen wird???
hier mein script:
PHP:
<?php
$_POST["name"];
$_POST["email"];
$_POST["web"];
$_POST["titel"];
$_POST["text"];

//Überprüfung der Eingaben
$fehler = "Folgende Felder wurden nicht ausgefüllt:";
if($name == ""){
 $fehler .= "<br>- Name";
}
if($titel == ""){
 $fehler .= "<br>- Titel";
}
if($text == ""){
 $fehler .= "<br>- Text";
}
if($fehler != "Folgende Felder wurden nicht ausgefüllt:"){
 echo "$fehler";
}

//Definieren der Variablen $beitrag zu einem Text
else{
 //Angleichen des Textes
 $name = str_replace("<", "<", $name);
 $name = str_replace(">", ">", $name);
 $email = str_replace("<", "<", $email);
 $email = str_replace(">", ">", $email);
 $web = str_replace("<", "<", $web);
 $web = str_replace(">", ">", $web);
 $titel = str_replace("<", "<", $titel);
 $titel = str_replace(">", ">", $titel);
 $text = str_replace("<", "<", $text);
 $text = str_replace(">", ">", $text);
 $text = stripslashes($text);
 $text = str_replace("\n", "<br>", $text);
 

  //Die Smileys
  $text = str_replace(":)", "<img src='images/smileys/1.gif' border='0'>", $text);
  $text = str_replace(";)", "<img src='images/smileys/2.gif' border='0'>", $text);
  $text = str_replace(":(", "<img src='images/smileys/3.gif' border='0'>", $text);
  $text = str_replace(":P", "<img src='images/smileys/4.gif' border='0'>", $text);
  $text = str_replace(":|", "<img src='images/smileys/5.gif' border='0'>", $text);
  $text = str_replace(":D", "<img src='images/smileys/6.gif' border='0'>", $text);
  $text = str_replace("^^", "<img src='images/smileys/7.gif' border='0'>", $text);
  $text = str_replace("8o", "<img src='images/smileys/8.gif' border='0'>", $text);
  $text = str_replace("8)", "<img src='images/smileys/9.gif' border='0'>", $text);

 $beitrag = "<center><div class='eintrag'><b>$titel</b>";

 if($email != "" && substr_count($email, "@") == 1 && substr_count($email, ".") >= 1)
  $beitrag .= "<br><a href='mailto://$email'>$name</a>";
 else
  $beitrag .= "<br>$name";

 if($web != "" && $web != "http://" && substr_count($web, ".") >= 1 && substr_count($web, "http://") == 1)
  $beitrag .= "<br><a href='$web' target='_blank'>$web</a>";

 $beitrag .= "<hr noshade>$text</div></center>\n<br>\n";

 //Laden der Beitrags-Datei gbook.txt und anhängen
 $temp = "gbook.txt";
 $datei = fopen($temp,"a");
 fputs ($datei, $beitrag);
 fclose ($datei);

 //Schliessen des Fensters und neuladen des Openers
 echo "<script language='JavaScript'>ende();</script>";
}
?>
 
Das kommt ins PHP.
Ich muss schnell weg, poste Dir später eine Lösung. Aber ich habe keinen PHP Interpreter installiert, und alles aufs Netz hochzuladen, um zu testen, finde ich etwas mühsam.
Eventull wirst Du also nach Fehlern suchen müssen...
Aber mal sehen, was sich machen lässt....
:)
 
Ich hoffe, das klappt so:

<?php

// Funktion deklarieren:
function countSmiley ($input, $smile)
{
$anzahl = 0
while(strpos($input , $smile) !== false) { // !== ist wichtig!
$input = substr($input, (strpos($input , $smile) + 1));
$i++;
}
return $anzahl;
}

$_POST["name"];
$_POST["email"];
$_POST["web"];
$_POST["titel"];
$_POST["text"];

//Überprüfung der Eingaben
$fehler = "Folgende Felder wurden nicht ausgefüllt:";
if($name == ""){
$fehler .= "<br>- Name";
}
if($titel == ""){
$fehler .= "<br>- Titel";
}
if($text == ""){
$fehler .= "<br>- Text";
}

// Smiley - Array deklarieren:
$smileys = array (":(", ":)" , ":|" , ":D" , ":p" , ";)" );
$count = 0;
foreach ($smileys as $s) {
$count = $count + countSmiley ($input , $s);
}

if ($count > 30) {
if($fehler == "Folgende Felder wurden nicht ausgefüllt:"){
$fehler = "Es wurden zuviele Smileys eingegeben!";
}
else {
$fehler = $fehler ."Ausserdem wurden zu viele Smileys eingegeben!....";
}

}

if($fehler != "Folgende Felder wurden nicht ausgefüllt:"){
echo "$fehler";
}

//Definieren der Variablen $beitrag zu einem Text
else{
//Angleichen des Textes
$name = str_replace("<", "<", $name);
$name = str_replace(">", ">", $name);
$email = str_replace("<", "<", $email);
$email = str_replace(">", ">", $email);
$web = str_replace("<", "<", $web);
$web = str_replace(">", ">", $web);
$titel = str_replace("<", "<", $titel);
$titel = str_replace(">", ">", $titel);
$text = str_replace("<", "<", $text);
$text = str_replace(">", ">", $text);
$text = stripslashes($text);
$text = str_replace("\n", "<br>", $text);


**//Die Smileys
**$text = str_replace(":)", "<img src='images/smileys/1.gif' border='0'>", $text);
**$text = str_replace(";)", "<img src='images/smileys/2.gif' border='0'>", $text);
**$text = str_replace(":(", "<img src='images/smileys/3.gif' border='0'>", $text);
**$text = str_replace(":p", "<img src='images/smileys/4.gif' border='0'>", $text);
**$text = str_replace(":|", "<img src='images/smileys/5.gif' border='0'>", $text);
**$text = str_replace(":D", "<img src='images/smileys/6.gif' border='0'>", $text);
**$text = str_replace("^^", "<img src='images/smileys/7.gif' border='0'>", $text);
**$text = str_replace("8o", "<img src='images/smileys/8.gif' border='0'>", $text);
**$text = str_replace("8)", "<img src='images/smileys/9.gif' border='0'>", $text);

$beitrag = "<center><div class='eintrag'><b>$titel</b>";

if($email != "" && substr_count($email, "@") == 1 && substr_count($email, ".") >= 1)
**$beitrag .= "<br><a href='mailto://$email'>$name</a>";
else
**$beitrag .= "<br>$name";

if($web != "" && $web != "http://" && substr_count($web, ".") >= 1 && substr_count($web, "http://") == 1)
**$beitrag .= "<br><a href='$web' target='_blank'>$web</a>";

$beitrag .= "<hr noshade>$text</div></center>\n<br>\n";

//Laden der Beitrags-Datei gbook.txt und anhängen
$temp = "gbook.txt";
$datei = fopen($temp,"a");
fputs ($datei, $beitrag);
fclose ($datei);

//Schliessen des Fensters und neuladen des Openers
echo "<script language='JavaScript'>ende();</script>";
}
?>
 
Zurück
Oben