Besonderes Gästebuch gesucht

wieseline

Mitglied
Hallo allerseits,

bitte bitte nicht schimpfen oder wieder mal sagen, ich soll das Script selber schreiben. Ich bin ziemlicher PHP-Anfänger und kann solche schwierigen Sachen nicht.

//edit Mod: Danke für das Angebot, aber gegen Bezahlung wird hier nix gemacht. Wir sind zum Glück immer noch ein freies und kostenloses Forum.

  • Anbei ist schon mal ein Script von einer anderen Firma, dass ich schon etwas umgeschrieben habe. Das Wichtigste an dem Gästebuch soll sein, dass nach dem Gästebucheintrag ein Mail an mich geht. Der Eintrag wird erst freigeschaltet, wenn ich den Eintrag gelesen und bestätigt habe. Die Daten vom Mail gehen nach der Bestätigung praktisch weiter in das Gästebuch.

  • Eine Möglichkeit zum Kommentar sollte auch noch gegeben sein.
  • Außerdem sollen in dem Formular die Felder Email und Internetadresse nur optional sein. In meinem umgeschriebenen Script wollen sie die Angaben zwingend haben, ich kriege das nicht weg.
  • keine MySQL-Lösung, am liebsten nur php
  • Daten bleiben/kommen auf meinem Server
Ich habe Stunden vor dem Computer gesessen und nach so einem Script gesucht. Und nichts gefunden. Ich weiß mir nicht mehr anders zu helfen. Bekannte, die das machen könnten, habe ich leider nicht.

Bitte helft mir, es gibt ja auch ein Goody dafür.
Derjenige oder diejenige, mit dessen/deren Hilfe ich am schnellsten ein funktionierendes Script habe, gewinnt.

Viele Grüße und viel Spaß
wieseline
 

Anhänge

Hi, jo ich denke ich kann dir das Script schreiben. Nur ohne MySQL is das ein kleines Problem. Muss das zwingend sein ?

mfg, Marlon
 
Hi du kanns die eine Kopie ziehen und den Gutschein behalten:

Hier:

http://www.2ts2.net/index.php?get=gbook/index.php

Was so abläuft ungefähr siehst du hier:

PHP:
<?
// ###### Einstellungen und Optionen des Gaestebuchs ####
$result=mysql_query("SELECT * FROM gbook_optionen LIMIT 1");
while($gbook=mysql_fetch_array($result))
{
$gboffen=$gbook[online]; // ermittelt ob GB offen ist
$gbmaxeintrage=$gbook[maxeintrage]; // legt fest wieviel Eintraege maximal rein duerfen, loescht ggf nach zeit von hinten = betdeute ohne Limit
$bgmaxproseite=$gbook[eintrproseiteite]; // legt fest wieviele Eintrage pro Seite ausgegeben werden sollen
$gbprufen=$gbook[pruf]; // legt fest ob GB Eintrage erst gepruft werden muessen bevor sie veroeffentlich werden koennen
}



// ####### Ist Modul Gaestebuch online #####
if ($gboffen == 0) { header("Location: index.php?get=gbook/offline.php") or EXIT; }




// #### Gibt es mehr Eintrage als hoechstens zulaessig werden diese geloescht ######
// #### zaehlen der Eintrage und ggf loeschen! ######
// #### Wenn maximal eintrage nicht gleich null ist loeschen ######
$result=mysql_query("SELECT COUNT(*) FROM gbook");
while($gbeintr=mysql_fetch_array($result))
{
$gbeintranz=$gbeintr[0];
}
if($gbmaxeintrage != 0 && $gbmaxeintrage < $gbeintranz) {
$gbwegmuss = $gbeintranz - $gbmaxeintrage;
$result=mysql_query("SELECT * FROM gbook ORDER BY zeit ASC");
{
for($i=0;$i<$gbwegmuss && ($row=mysql_fetch_array($result));$i++){
unset($theid);
$theid=$row[id];
{ mysql_query("DELETE FROM gbook WHERE id='$theid' LIMIT 1"); }
}
}
}



// ### Pruefen ob ungeprufte GB Eintraege ausgegeben werden duerfen und Bdieunug fue MYSQL schrein #####
if ($gbprufen == 1) { $bedinung = "WHERE gepruft='1'"; }


// #### Seitenausgabe errechnen und Link fuer Seitenwahl in Variable $seitenausgabe stecken #######
if (!isset($seite)) { $seite=1; }
$max_pro_seite=$bgmaxproseite;
$aa=mysql_query("SELECT COUNT(*) FROM gbook $bedinung ");
while($ab=mysql_fetch_array($aa))
{
$eintrage=$ab[0];
}
$last_seite=ceil($eintrage/$max_pro_seite);
$next_seite=$seite+1;
if ($next_seite > $last_seite) { unset($next_seite); } 
if (($seite * $max_pro_seite) - ($max_pro_seite - 1) >= $eintrage) { $seite = $last_seite; }
$seiten_start=($max_pro_seite*$seite)-($max_pro_seite);
$seiten_ende=($max_pro_seite*$seite)-1;
$seitenausgabe .="<b>Seite:</b> ";
for($i=0; $i<$last_seite; $i++)
{
if ($seite == ($i+1)) { $seitenausgabe .="(".($i+1).") "; }
else { $seitenausgabe .="<a class='header' href='index.php?get=gbook/index.php&seite=".($i+1)."'>".($i+1)."</a> "; }
}





// #### ANFANG auslesen der Daten replacen und Ausgabe der Daten nach $bedinung und ausgabe des Templates#####
$showcomments = "10000000";
$countfiles = "0";
$result = mysql_query("SELECT * FROM gbook $bedinung ORDER BY zeit DESC"); 
{ 
for($i=0; $i<$showcomments && ($row = mysql_fetch_array($result)); $i++) 
{
if ($countfiles >= $seiten_start && $countfiles <= $seiten_ende) { // ###Nur wenn zur Seite gehoert!
unset($datum,$text);
$datum=$row[zeit];
include("includes/datum.inc.php");
$gb_outname=$row[name];
$gb_outemail="<a href='mailto:$row[email]' target='_blank'><img src='images/mail.gif' height='14' width='14' border='0' alt='Email schreiben'></a>";
$gb_outhp="<a href='$row[homepage]' target='_blank'><img src='images/home.gif' height='14' width='14' border='0' alt='zur Homepage'></a>";
$text=$row[beitrag];
include("includes/replace.inc.php");
$gb_outbeitrag=$text;
unset($text);
$text=$row[kommentar];
include("includes/replace.inc.php");
$komentar=$text;

// Template
$ausgabe =gettemplate("gbook/beitrag.html");
include("includes/templatecall.inc.php");
$seiteninhalt .=$ausgabe;

}
$countfiles++;
}
}



// ### Kopf des Gbooks ####
$ausgabe =gettemplate("gbook/gbookkopf.html");
include("includes/templatecall.inc.php");
$seiteninhalt ="$ausgabe".$seiteninhalt;

// ### Das GB Formular zum Eintragen, hinten anfuegen ###
if (!isset($gb_entrhp)) { $gb_entrhp="http://"; }
include("includes/bbcodes.php");
include("includes/smilies.php");
// Template
$ausgabe =gettemplate("gbook/gbformular.html");
include("includes/templatecall.inc.php");
$seiteninhalt .="$ausgabe";


// #### Seitenkopf an den Anfang der Seite####
$seiteninhalt ="
<table cellspacing='0' cellpadding='0' width='570' border='0' bgcolor='#F7F7F7'>
<tr> 
<td bgcolor='#DEDEDE' height='1'></td>
</tr>
<tr> 
<td height=20><FONT size=1 class=size1v color=#3B3B3B><b><a class='header'><img src=images/gbook.gif border=0 height=16 width=14>Gästebuch</a></b></FONT></td>
</tr>
<tr> 
<td bgcolor='#DEDEDE' height='1'></td>
</tr>
</table>
$seiteninhalt
";
?>
 
Lukasz hat gesagt.:
Hi du kanns die eine Kopie ziehen und den Gutschein behalten:

Hier:

http://www.2ts2.net/index.php?get=gbook/index.php

Was so abläuft ungefähr siehst du hier:

PHP:
<?
// ###### Einstellungen und Optionen des Gaestebuchs ####
$result=mysql_query("SELECT * FROM gbook_optionen LIMIT 1");
while($gbook=mysql_fetch_array($result))
{
$gboffen=$gbook[online]; // ermittelt ob GB offen ist
$gbmaxeintrage=$gbook[maxeintrage]; // legt fest wieviel Eintraege maximal rein duerfen, loescht ggf nach zeit von hinten = betdeute ohne Limit
$bgmaxproseite=$gbook[eintrproseiteite]; // legt fest wieviele Eintrage pro Seite ausgegeben werden sollen
$gbprufen=$gbook[pruf]; // legt fest ob GB Eintrage erst gepruft werden muessen bevor sie veroeffentlich werden koennen
}



// ####### Ist Modul Gaestebuch online #####
if ($gboffen == 0) { header("Location: index.php?get=gbook/offline.php") or EXIT; }




// #### Gibt es mehr Eintrage als hoechstens zulaessig werden diese geloescht ######
// #### zaehlen der Eintrage und ggf loeschen! ######
// #### Wenn maximal eintrage nicht gleich null ist loeschen ######
$result=mysql_query("SELECT COUNT(*) FROM gbook");
while($gbeintr=mysql_fetch_array($result))
{
$gbeintranz=$gbeintr[0];
}
if($gbmaxeintrage != 0 && $gbmaxeintrage < $gbeintranz) {
$gbwegmuss = $gbeintranz - $gbmaxeintrage;
$result=mysql_query("SELECT * FROM gbook ORDER BY zeit ASC");
{
for($i=0;$i<$gbwegmuss && ($row=mysql_fetch_array($result));$i++){
unset($theid);
$theid=$row[id];
{ mysql_query("DELETE FROM gbook WHERE id='$theid' LIMIT 1"); }
}
}
}



// ### Pruefen ob ungeprufte GB Eintraege ausgegeben werden duerfen und Bdieunug fue MYSQL schrein #####
if ($gbprufen == 1) { $bedinung = "WHERE gepruft='1'"; }


// #### Seitenausgabe errechnen und Link fuer Seitenwahl in Variable $seitenausgabe stecken #######
if (!isset($seite)) { $seite=1; }
$max_pro_seite=$bgmaxproseite;
$aa=mysql_query("SELECT COUNT(*) FROM gbook $bedinung ");
while($ab=mysql_fetch_array($aa))
{
$eintrage=$ab[0];
}
$last_seite=ceil($eintrage/$max_pro_seite);
$next_seite=$seite+1;
if ($next_seite > $last_seite) { unset($next_seite); } 
if (($seite * $max_pro_seite) - ($max_pro_seite - 1) >= $eintrage) { $seite = $last_seite; }
$seiten_start=($max_pro_seite*$seite)-($max_pro_seite);
$seiten_ende=($max_pro_seite*$seite)-1;
$seitenausgabe .="<b>Seite:</b> ";
for($i=0; $i<$last_seite; $i++)
{
if ($seite == ($i+1)) { $seitenausgabe .="(".($i+1).") "; }
else { $seitenausgabe .="<a class='header' href='index.php?get=gbook/index.php&seite=".($i+1)."'>".($i+1)."</a> "; }
}





// #### ANFANG auslesen der Daten replacen und Ausgabe der Daten nach $bedinung und ausgabe des Templates#####
$showcomments = "10000000";
$countfiles = "0";
$result = mysql_query("SELECT * FROM gbook $bedinung ORDER BY zeit DESC"); 
{ 
for($i=0; $i<$showcomments && ($row = mysql_fetch_array($result)); $i++) 
{
if ($countfiles >= $seiten_start && $countfiles <= $seiten_ende) { // ###Nur wenn zur Seite gehoert!
unset($datum,$text);
$datum=$row[zeit];
include("includes/datum.inc.php");
$gb_outname=$row[name];
$gb_outemail="<a href='mailto:$row[email]' target='_blank'><img src='images/mail.gif' height='14' width='14' border='0' alt='Email schreiben'></a>";
$gb_outhp="<a href='$row[homepage]' target='_blank'><img src='images/home.gif' height='14' width='14' border='0' alt='zur Homepage'></a>";
$text=$row[beitrag];
include("includes/replace.inc.php");
$gb_outbeitrag=$text;
unset($text);
$text=$row[kommentar];
include("includes/replace.inc.php");
$komentar=$text;

// Template
$ausgabe =gettemplate("gbook/beitrag.html");
include("includes/templatecall.inc.php");
$seiteninhalt .=$ausgabe;

}
$countfiles++;
}
}



// ### Kopf des Gbooks ####
$ausgabe =gettemplate("gbook/gbookkopf.html");
include("includes/templatecall.inc.php");
$seiteninhalt ="$ausgabe".$seiteninhalt;

// ### Das GB Formular zum Eintragen, hinten anfuegen ###
if (!isset($gb_entrhp)) { $gb_entrhp="http://"; }
include("includes/bbcodes.php");
include("includes/smilies.php");
// Template
$ausgabe =gettemplate("gbook/gbformular.html");
include("includes/templatecall.inc.php");
$seiteninhalt .="$ausgabe";


// #### Seitenkopf an den Anfang der Seite####
$seiteninhalt ="
<table cellspacing='0' cellpadding='0' width='570' border='0' bgcolor='#F7F7F7'>
<tr> 
<td bgcolor='#DEDEDE' height='1'></td>
</tr>
<tr> 
<td height=20><FONT size=1 class=size1v color=#3B3B3B><b><a class='header'><img src=images/gbook.gif border=0 height=16 width=14>Gästebuch</a></b></FONT></td>
</tr>
<tr> 
<td bgcolor='#DEDEDE' height='1'></td>
</tr>
</table>
$seiteninhalt
";
?>


Hm sie wollte es doch ohne MySQL... :D
 
Hallo liebes Tutorial Team,

//edit Mod: Danke für das Angebot, aber gegen Bezahlung wird hier nix gemacht. Wir sind zum Glück immer noch ein freies und kostenloses Forum.

Das ist auch keine Bezahlung, sondern nur eine Art kleine Anerkennung. Weil's halt schon viel Arbeit ist. Außerdem ist die Reaktion darauf für mich total positiv, was bei einem ähnlichen Posting vor ein paar Monaten nicht der Fall war, siehe bitte erste Zeile: "bitte bitte nicht schimpfen oder wieder mal sagen, ich soll das Script selber schreiben."

Viele Grüße
wieseline
 
Zurück