Computerhilfen:

Welcome to Computerhilfen.de, your free pc help site. Please take a look at our english website at www.computerhilfen.com where you find tips and help in english and can also ask questions in our english help board.

close
Computerhilfen.de: Webmaster-Forum: Gästebuch



 

Gästebuch

locked / geschlossen
(Gelesen 13351 mal - 0 Mitglieder und 2 Gäste betrachten dieses Thema.)
 Senden Sie dieses Thema Drucken Anmelden / Register

Webmaster-Fragen » Gästebuch

locked / geschlossen
Seiten: 1 2 3 [4] 5 6 7

JoSsiF Offline JoSsiFs PC
Special-Member (8.562)
*****

Re: Gästebuch

« Antwort #45 am: 18.05.05, 01:20:34 »


...und genau weil du diesen Thread eröffnet hast (und weil sich anderweitig Anfragen gehäuft haben), haben wir in einer lustigen Gemeinschaftsarbeit ein funktionierendes Gästebuch gebaut.

Kopiere dir doch einfach eines der letzten umfangreichen Quellcode-Listings, und du hast ein top funktionierendes Gästebuch, was du nur noch in Sachen Stylesheets anpassen musst.

greez + und eine geruhsame Nacht Cool
JoSsiF
Diesen Beitrag melden   Gespeichert



Mario Offline Marios PC
Special-Member (3.408)
*****

Re: Gästebuch

« Antwort #46 am: 18.05.05, 09:15:54 »


Jo, ist doch ein super Script geworden. Sollte man überlegen, ob man das nicht (nur den Quelltext und bissel Kommentar) hier als PIN festmachen kann oder irgendwo in der Rubrik Webmaster mit aufnimmt. Wäre Schade, wenns immer weiter nach hinten rutscht um irgenwann rauszufliegen Shocked Wink
Mal gucken, wie sich die Webmaster hier dazu äußern Smiley

Mario Cool
Diesen Beitrag melden   Gespeichert



Syrus Offline
Jr. Member (50)
**

Re: Gästebuch

« Antwort #47 am: 18.05.05, 11:43:30 »


Also mir gehts halt ums verstehen ich würde das halt gerne auch eventuell auf andere Scripte anwenden können! Klar könnte ich mir das Ding hier einfach schnell kopieren, aber ich will ja was lernen bzw. etwas nachvollziehen können!!! Es geht ja nur um den Zeilenumbruch!!!

Gruß Syrus
Diesen Beitrag melden   Gespeichert


JoSsiF Offline JoSsiFs PC
Special-Member (8.562)
*****

Re: Gästebuch

« Antwort #48 am: 18.05.05, 11:49:36 »


Das entstandene Gästebuch ist eigentlich relativ gut auskommentiert, aber vielleicht können wir auch da nochmal nachlegen. Das sollte dann schonmal ein guter Anfang zum Nachvollziehen und Lernen sein Wink

Wenn dir das mit dem Zeilenumbruch jetzt schlaflose Nächte bereitet, dann erkläre uns nochmal bitte genau, worum's geht. Vielleicht können wir dir die Lösung deines Problems anhand des neuen Skripts verständlich machen.

greez Cool
JoSsiF
Diesen Beitrag melden   Gespeichert



Jan Schneider Offline
Sr. Member (578)
****

Re: Gästebuch

« Antwort #49 am: 18.05.05, 11:52:20 »


Zeileumbrüche in php machste entweder mit "\n" und wenn das nicht funktioniert mit "\r\n"...ich will jetzt nix falsches sagen, aber soweit ich weiß hängt das damit zusammt was auf deinem server läuft (windows oder unix) nur welchers system jetzt welchen umbruch unterstützt und ob unix beide unterstützt kann ich jetzt nicht sagen.
Diesen Beitrag melden   Gespeichert



JoSsiF Offline JoSsiFs PC
Special-Member (8.562)
*****

Re: Gästebuch

« Antwort #50 am: 18.05.05, 11:58:49 »


Gut, dass du es sagst, Jan! Schau nochmal ins Skript rein, dort wo die Ersetzungen gemacht werden. Fällt dir was auf?
Wir sollten \r\n, \r und \n getrennt behandeln, damit das auch auf jeder Plattform funzt.

greez Cool
JoSsiF
Diesen Beitrag melden   Gespeichert



Jan Schneider Offline
Sr. Member (578)
****

Re: Gästebuch

« Antwort #51 am: 18.05.05, 12:07:08 »


Das dachte ich mir auch schon und außerdem bestätigt das schonmal das ich nix falsches gesagt hab ;-)
wir sollten sowieso mal aus dem code-chaos das richtig script raussuchen und irgendwo hinpacken wo es dann jeder finden kann der ein Gästebuch sucht. und btw sollte jeder der was dran gemacht hat sich inklusive der www.computerhilfen.de URL im script verewigen *g*
Diesen Beitrag melden   Gespeichert



JoSsiF Offline JoSsiFs PC
Special-Member (8.562)
*****

Re: Gästebuch

« Antwort #52 am: 18.05.05, 12:26:59 »


Mein Vorschlag dazu:

Als Basis für weitere Arbeiten nehmen wir das Listing aus Antwort #34 oder aus Antwort #38 (wobei #38 die Überarbeitung vom ollen Schwoebel is, wo das Formular unterhalb der Einträge generiert wird - würde gerne mal eure Meinungen dazu hören).

Daran müsste dann mindestens noch folgendes gemacht werden:
- das Absatzproblem muss noch sauber gelöst werden
- der Quellcode nochmal einer letzten Säuberung unterzogen werden
- den Quellcode vollständig auskommentieren
- alles, was mit Konfiguration zu tun hat, in einem eigenen Block (z.B. zu Beginn des Skripts) definieren
- Hinweise auf computerhilfen.de und die Bearbeiter reinhacken *g*
- die Admins davon überzeugen, dass das Skript irgendwo zentral als Muster abgelegt wird Wink

Bitte eure Ergänzungs- und/oder Änderungsvorschläge noch beisteuern.

greez Cool
JoSsiF
Diesen Beitrag melden   Gespeichert



Jan Schneider Offline
Sr. Member (578)
****

Re: Gästebuch

« Antwort #53 am: 18.05.05, 12:32:46 »


Zitat
Zitat von: JoSsiF
- der Quellcode nochmal einer letzten Säuberung unterzogen werden

genau. ich hab damals extra zur ausgabe der HTML-teile auf die ausgabe durch echo verzichtet um php von html zu trennen. totzdem hat sich unten wieder jede menge Echo-Krempel eingeschlischen.

ansonsten fällt mir jetzt kein weitere punkt ein, außer vielleicht das sich 1 (in worten : EINER) das script vornimmt und die entsprechenden änderungen macht, sonst haben wir nachher wieder 5 verschiedene ;-)

Zusatz: um deine Frage zu beantworten, nein, die eingabemaske unterhalb der einträge find ich nicht so gut.
« Letzte Änderung: 18.05.05, 12:34:32 von Jan190480 » Diesen Beitrag melden   Gespeichert



JoSsiF Offline JoSsiFs PC
Special-Member (8.562)
*****

Re: Gästebuch

« Antwort #54 am: 18.05.05, 13:48:29 »


OK folgendes:

Wenn also keiner etwas Grundlegendes dagegen hat, dann nehmen wir jetzt das Listing aus Antwort #34 als Basis. Ich würde mir das Script nochmal vornehmen und die besagten Arbeiten durchführen.

Damit jeder der Beteiligten dann nochmal drüberschauen kann, ist es vielleicht sinnvoll, den jeweiligen Zwischenstand per PM zu verschicken, damit hier der Thread nicht unnötig zugeballert wird.

@Jan: könntest du dir evtl. was einfallen lassen bzgl. Autorenhinweise etc.? Also mal was schreiben und mir zuschicken, dann knall ich das mit ins Script rein.

greez Cool
JoSsiF
Diesen Beitrag melden   Gespeichert



Der olle Schwoebel Offline Der olle Schwoebels PC
Special-Member (3.884)
*****

Re: Gästebuch

« Antwort #55 am: 18.05.05, 15:11:07 »


Noch ne klitzekleine Frage :

Habe das mit dem Mailer jetzt hinbekommen, schaut dann so aus, der Code :
Code:
<td><small>- <span style="font-family: verdana;">
<a href="kontakt.php?empfemail02='<?=urlencode($Eintrag[3])?>'"><i>E-Mail</i></a>
</span> - </small></td>


Funzt auch soweit.. In der "kontakt.php" funktionert auhc alles... Nur komm ich jetzt nicht ganz weiter in "mail.php".. Anstatt der emailadresse soll ja jetzt die Variable einfügen :

Code:
<?php
#Datei mail.php

$daten .= "Empfänger: ".$_REQUEST['empfemail02']."\r\n";
$daten .= "Name: ".$_REQUEST['absender_name']."\r\n";
$daten .= "alter: ".$_REQUEST['absalter']."\r\n";
$daten .= "email: ".$_REQUEST['absmail']."\r\n";
$daten .= "Homepage: ".$_REQUEST['absender_hp']."\r\n";
$daten .= "Mitteilung: ".$_REQUEST['mitteilung']."\r\n";

mail(".$_REQUEST['empfemail02']""Gästebucheintrag"$daten
"From: ".$_REQUEST['absmail']."\r\n" "Reply-To: 
"
.$_REQUEST['absmail']."\r\n" ."X-Mailer: PHP/" phpversion());

echo 
'<meta http-equiv="refresh" content="0; URL=kontakt.php">';
?>


Ich habe in Zeile 11 vorher nochmal ne andere "Version" gehabt und zwar :

Code:
mail($daten,".$_REQUEST['empfemail02']." . "From: " .$_REQUEST['absmail']."\r\n" .
"Reply-To: ".$_REQUEST['absmail']."\r\n" ."X-Mailer: PHP/" . phpversion());


Dabei habe ich alles ausprobiert, mit Punkt, ohne Punkt, nur Punkt vorne (also bei $_REQUEST['empfemail02']  ... Wie soll man das mit der Variable denn am Besten lösen ?
« Letzte Änderung: 09.07.05, 21:59:48 von nico » Diesen Beitrag melden   Gespeichert



JoSsiF Offline JoSsiFs PC
Special-Member (8.562)
*****

Re: Gästebuch

« Antwort #56 am: 18.05.05, 15:16:45 »


Hi |

In der Variable steht ein String drin. Deswegen musst du die Anführungszeichen weglassen (also in der mail()-Funktion). Und den Punkt auch Wink

greez Cool
JoSsiF
Diesen Beitrag melden   Gespeichert



JoSsiF Offline JoSsiFs PC
Special-Member (8.562)
*****

Re: Gästebuch

« Antwort #57 am: 18.05.05, 16:07:37 »


So, hier nochmal die vorläufige Endfassung des Gästebuchs:

Code:

<?
#######################################################################
##  Dieses Gästebuch wurde in einer Geminschaftsarbeit mehrerer      ##
##  Mitglieder von computerhilfen.de entwickelt. Es soll all jenen,  ##
##  die sich immer wieder fragen: "Gästebuch? Wie geht das?" zeigen, ##
##  wie man ein einfaches Gästebuch erstellt.                        ##
##  Es ist auch nicht das ultimative Gästebuch, sondern nur ein Wink ##
##  in die richtige Richtung. Im Detail waren daran beteiligt:       ##
##                                                                   ##
##  Erster Entwurf und Grundfunktionen        : Jan190480            ##
##  Optimierung des Lese- und Schreibzugriffs : JoSsiF, Mario        ##
##  Verteilung der Einträge auf mehrere Sieten: Spawn                ##
##  Stylesheet-Implementierung                : Der olle Schwoebel   ##
##                                                                   ##
##  Viel Spaß mit dem Gästebuch. Fragen können gerne                 ##
##  direkt an die einzelnen Mitlieder gerichtet werden               ##
##  oder im Forum gepostet werden.                                   ##
##                                                                   ##
##  2005 | computerhilfen.de                                         ##
##                                                                   ##
#######################################################################



##  Der PHP-Teil. Ohne PHP (oder einer anderen serverseitigen        ##
##  Programmiersprache (wie z.B. Perl)) wird man kein Gästebuch zum  ##
##  Laufen bekommen.                                                 ##



### Konfiguration (auch wenn's hier noch nicht ganz so viel zu konfigurieren gibt *g*)
#########################

$ppp = 5; // Anzahl der Beiträge, die pro Seite ausgegeben werden sollen
$textfile = "myGB.txt"; // Name der Textdatei, in der die Einträge gespeichert werden

### Ende Konfiguration #################################
########################################################


/*
$page initialisieren (der Wert entspricht der aktuellen Seite der Gästebucheinträge)
Beim ersten Aufruf (keine Seite gewählt) wird diese auf 1 gesetzt

Die Variable wird immer aus dem superglobalen Array $_REQUEST[] herausgezogen,
um auch auf solchen Servern einen Wert zu erhalten, auf denen die PHP-Variable
'register_gobals' auf 'Off' gesetzt ist
*/
if (!$_REQUEST['page'])
{
 $page = 1;
}
else
{
 $page = $_REQUEST['page'];
}

// Script wird nur ausgeführt wenn der Benutzer auf "Eintragen" gedrückt hat
if ($_POST['submit'])
{
 //Alles in eine Variable hintereinander schreiben
 $GBeintrag = $_POST['myGBname']."|"; // der Name aus dem Formular
 $GBeintrag .= $_POST['myGBhp']."|"; // die Website aus dem Formular
 $GBeintrag .= $_POST['myGBmail']."|"; // die Mail-Adresse aus dem Formular
 $GBeintrag .= date("d.m.y")."|"; // das Datum aus dem Formular, gleich formatiert

 /*
 Das Zeichen '|' wird als Trennzeichen in der Textdatei des Gästebuchs verwendet.
 Falls jemand in der nachricht ein | verwendet hat, sollten wir das
 ersetzen, da sonst beim auslesen Fehler auftauchen
 */
 $_POST['myGBtext'] = str_replace("|", "<!strich!>", $_POST['myGBtext']);
 
 // Zeilenumbrüche entfernen, da anhand dieser sonst die Trennung
  // der Datensätze erfolgen würde
 $_POST['myGBtext'] = str_replace("\r\n", "<!umbruch!>", $_POST['myGBtext']);
 $_POST['myGBtext'] = str_replace("\r", "<!umbruch!>", $_POST['myGBtext']);
 $_POST['myGBtext'] = str_replace("\n", "<!umbruch!>", $_POST['myGBtext']);
 
 // Umbruch als Trennzeichen am Ende des Datensatzes hinzufügen  
 $GBeintrag .= $_POST['myGBtext']."\r\n";

 /*
 Den Eintrag in die Textdatei schreiben und dabei vor
 gleichzeitigem Mehrfachzugriff schützen
 */
 $openfile = fopen($textfile, "a");
 flock($openfile, 2);
 fwrite($openfile, $GBeintrag);
 flock($openfile, 3);
 fclose($openfile);
}
?>

<!--
Hier der Allgemein bekannte HTML-Teil welcher
das Aussehen der Seite und damit das des GBs bestimmt
Hier kann man nach belieben alles anpassen bis auf
Bestehen bleiben sollten jedoch die integrierten
PHP-Anweisungen welche sich zwischen <? //und ?> befinden.
Sebstverständlich können diese natürlich an eine andere Stelle
verfrachtet werden.
//-->

<!-- KOPF DATEN //-->
<html>
<head>
<title>Mein G&auml;stebuch</title>
<style type="text/css">
 body {background-color: #FFFFFF;}

 .GBtable {border: 1px solid #000000;
           border-collapse: collapse;
           width: 400px;}

 .GBhead {background-color: #0000FF;
         color: #FFFFFF;
         font-weight: bold;}

 .GBinput {background-color: #00FFFF;
           border: 1px solid #000000;}

 .GBcontent {background-color: #FFFFFF;}

 a.GBlink:link, a.GBlink:visited, a.GBlink:hover, a.GBlink:active {
    text-decoration: none;
    color: #FFFFFF;
  }
</style>
</head>
<body>

<center>
<h1>Titel des G&auml;stebuchs</h1>

<!-- EINGABE TEIL //-->
<form action="<?=$PHP_SELF?>" method="POST">
<table class="GBtable">
 <tr class="GBhead">
   <td colspan="2">Hier ins G&auml;stebuch eintragen</td>
 </tr>
 <tr>
   <td>Dein Name</td>
   <td><input class="GBinput" name="myGBname" size="30"></td>
 </tr>
 <tr>
   <td>Deine Homepage</td>
   <td><input class="GBinput" name="myGBhp" size="30" value="http://"></td>
 </tr>
 <tr>
   <td>Deine Email</td>
   <td><input class="GBinput" name="myGBmail" size="30"></td>
 </tr>
 <tr>
   <td colspan="2" align="center">Deine Nachricht</td>
 </tr>
 <tr>
   <td colspan="2" align="center"><textarea class="GBinput" cols="45" rows="10"
name="myGBtext"></textarea></td>
 </tr>
 <tr>
   <td colspan="2" align="center">
      <input type="submit" name="submit" value="Eintragen">
    </td>
 </tr>
 </form>
</table>
<br><br>

<!-- EINTRÄGE ANZEIGEN -->
<?
/*
Hier das Gästebuch öffnen und alle Einträge in ein Array einlesen;
Fehlermeldung bei noch nicht vorhandener Datei wird unterdrückt
und die Datei automatisch angelegt
*/
$eintraege = @file($textfile);

/*
Anzeigen der Einträge

Solange Einträge vorhanden sind, wird eine Schleife durchlaufen
von hinten nach vorne (also neueste zuerst)

Hier wird gleichzeitig die Logik für die dynamische Generierung
der Seitenlinks erzeugt
*/
$start = (count($eintraege) - 1) - $ppp * ($page - 1);
$stop = (count($eintraege) - 1) - $ppp * ($page - 1) - $ppp + 1;
if ($start > (count($eintraege) - 1))
{
 $start = count($eintraege) - 1;
}
if ($stop < 0)
{
 $stop = 0;
}
for ($a = $start; $a >= $stop; $a--)
{
 // Die einzelnen Teile des Eintrags extrahieren
 $Eintrag = explode("|", $eintraege[$a]);

 /*
 Dann noch die Sonderstrings wie "<!umbruch!>" und "<!strich!>" wieder
 in die ursprünglichen zeichen ersetzen
 */
 $Eintrag[4] = str_replace("<!umbruch!>", "\r\n", $Eintrag[4]);
 $Eintrag[4] = str_replace("<!strich!>", "|", $Eintrag[4]);

 //und jetzt alles in Tabellen ausgeben
?>
<table class="GBtable">
 <tr class="GBhead">
 <td>Von : <?=$Eintrag[0]?></td>
 <td>am : <?=$Eintrag[3]?></td>
 <td><a class="GBlink" href="mailto:<?=$Eintrag[2]?>">Email</a></td>
 <td><a class="GBlink" href="<?=$Eintrag[1]?>" target="_blank">Homepage</td>
 </tr>
 <tr>
 <td colspan="4"><?=nl2br($Eintrag[4])?></td>
 </tr>
</table>
<br>
<?
}
//  $max gibt die Anzahl der Einträge an
$max = count($eintraege);
//  jetzt noch fix die daraus resultierenden Seiten berechnen
if ($max == 0)
{
 $pages = 1;
}
else
{
 $pages = intval(($max - 1) / $ppp) + 1;
}
?>
<p align='center'>
<?
if ($page > 1)
{
?>
   <a href='<?=$PHP_SELF?>?page=1'>|<&nbsp;</a>
   <a href='<?=$PHP_SELF?>?page=<?=($page - 1)?>'><&nbsp;</a>
<?
}
for ($i = 1; $i <= $pages; $i++)
{
 if ($i == $page)
 {
 ?>
   <?=$i?>&nbsp;
 <?
 }
 else
 {
 ?>
   <a href='<?=$PHP_SELF?>?page=<?=$i?>'><?=$i?>&nbsp;</a>
 <?
 }
}
if($page < $pages)
{
?>
   <a href='<?=$PHP_SELF?>?page=<?=($page + 1)?>'>>&nbsp;</a>
   <a href='<?=$PHP_SELF?>?page=<?=$pages?>'>>|</a>
<?
}
?>
<br>Es sind <b><?=$max?></b> Eintr&auml;ge im G&auml;stebuch</p>
</center>

</body>
</html>


greez Cool
JoSsiF
« Letzte Änderung: 09.07.05, 22:05:39 von nico » Diesen Beitrag melden   Gespeichert



Der olle Schwoebel Offline Der olle Schwoebels PC
Special-Member (3.884)
*****

Re: Gästebuch

« Antwort #58 am: 18.05.05, 16:33:26 »


Hi Wink

Ich finde das Script ja wirklich klasse, sowas muss ja irgendwie honoriert werden.. Habe deswegen mal wieder zugeschlagen ( Grin) und mal eine Seite dazu erstellt (so ähnlich wie die Barkeeperinfoseite)

Könnt euch das ganze ja mal anguggen (hoffe, dass ich die Scripts alle richtig übernommen habe ( Roll Eyes). Müsste man dann halt nur noch verlinken, wenn ihr/wir nico oder Maddin überzeugen können Wink

http://bwddtclan.bw.funpic.de/Passwort/gaestebuch.html

Achja, sollten Änderungen auftreten im Quelltext, dann lässt sich das ganze natürlich noch ändern, ist jetzt halt nur mal, dass der Quellcode schonmal drinnen ist..
« Letzte Änderung: 18.05.05, 16:37:05 von Der olle Schwoebel » Diesen Beitrag melden   Gespeichert



JoSsiF Offline JoSsiFs PC
Special-Member (8.562)
*****

Re: Gästebuch

« Antwort #59 am: 18.05.05, 16:38:51 »


Schöne Sache das! Cheesy

Kleine Korrektur: die Datei muss nicht zwingend index.php heißen. Kannst die auch anders nennen, ohne irgendwas umschreiben zu müssen. Denn es wird immer auf das eigene Dokument verlinkt (Stichwort $PHP_SELF), und damit haste dieses Problem umgangen Wink

greez Cool
JoSsiF
Diesen Beitrag melden   Gespeichert


Seiten: 1 2 3 [4] 5 6 7  Senden Sie dieses Thema Drucken Anmelden / Register 



Ähnliche Themen:
Gästebuch
Gästebuch
Gästebuch
gästebuch??
Gästebuch

add bookmark Bookmark:
Gehe zu:  
« vorheriges nächstes »
Webmaster-Forum am 18.05.2005 | | Mobile Version (Handy, PDA)




Computerhilfen.de | Powered by SMF 1.0.9.
© 2001-2007, Lewis Media. Alle Rechte vorbehalten.
Seite erstellt in 0.068 Sekunden mit 39 Zugriffen.