Ups... die Sache mit dem flock() hab ich versaut
Die flock()-Befehle sind in der Hitze des Gefechts etwas zu tief gerutscht
So, hier ein abgeänderter Entwurf:
<?
//Der PHP-Teil. Ohne PHP (oder einer anderen Internettauglichen
//Programmiersprache (wie z.B. Perl)) wird man kein Gästebuch zum
//Laufen bekommen.
// $page initialisieren, falls nicht gesetzt
if (!$_REQUEST['page'])
{
$page = 0;
}
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']."|";
$GBeintrag .= $_POST['myGBhp']."|";
$GBeintrag .= $_POST['myGBmail']."|";
$GBeintrag .= date("d.m.y")."|"; //datum muss natürlich auch mit rein
//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']);
//Und dann noch die Zeilenumbrüche raus damit alles in einer Reihe steht
//ist kein muss, sieht aber besser aus
$_POST['myGBtext'] = str_replace("\r\n","<!umbruch!>",$_POST['myGBtext']);
$GBeintrag .= $_POST['myGBtext']."\r\n";
//Den eintrag in die Textdatei schreiben
$openfile = fopen("myGB.txt","a");
flock($openfile,2);
fwrite($openfile,$GBeintrag);
flock($openfile,3);
fclose($openfile);
}
//Hier das Gästebuch öffnen und alle Einträge einlesen
$eintraege = @file("myGB.txt");
//Die Variable $ppp steht für Posts-Per-Page und gibt an,
//wieviele Beiträge auf einer Seite angezeigt werden sollen
$ppp = 1;
?>
<!--
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 zwichschen <? //und ?> befinden.
Sebstverständlich können diese natürlich an eine andere Stelle
verfrachtet werden.
//-->
<!-- KOPF DATEN //-->
<html>
<head>
<title>Mein Gä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ästebuchs</h1>
<!-- EINGABE TEIL //-->
<form action="" method="POST">
<table class="GBtable">
<tr class="GBhead">
<td colspan="2">Hier ins Gä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 -->
<?
//PHP-code um die Einträge anzuzeigen
//solange einträge vorhanden sind wird eine schleife durchlaufen
//von hinten nach vorne (also neueste zuerst)
$start = (count($eintraege)-1) - $ppp*$page;
$stop = (count($eintraege)-1) - $ppp*$page - $ppp + 1;
if($stop<0) $stop = 0;
for($a = $start; $a >= $stop; $a--)
{
//Die einzelnen Teile des Eintrags teilen
$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);
echo("<p align='center'>");
//ist man nicht auf Seite 0 kann man logischerweise eine Seite zurückgehen
echo("<a href='$PHP_SELF?page=0'>erste Seite</a> ");
if(($max > $ppp)&&($page>0)) echo("<a href='$PHP_SELF?page=".($page-1)."'>vorherige Seite</a>");
echo(" Seite ".($page + 1)." ");
//und ist die Anzahl der Einträge größer, als die, die von der aktuellen
//Seite dargestellt wird, kann man eine Seite vorgehen
if(($max > $ppp)&&($max>($page+1)*$ppp)) echo("<a href='$PHP_SELF?page=".($page+1)."'>nächste Seite</a>");
echo(" <a href='$PHP_SELF?page=".(ceil($max / $ppp) - 1)."'>letzte Seite</a>");
echo("</p>");
?>
</center>
</body>
</html>
saubere arbeit jungs *g*
der informationshalber könnte man das hier :
Es sind <b><?=count($eintraege);?></b> Einträge im Gästebuch;
noch an geeigneter stelle unterbringen.
Letztendlich müsste man hier sowieso noch einiges bauen, z.B. wäre es zweckmäßig, nicht nur auf die jeweils vorherige und nächste Seite zu verlinken, sondern auch den direkten Link zu bestimmten Seiten anzubieten.
Wichtig wäre evtl. noch, ein paar Abfragen für Pflichtangaben (z.B. Name) einzubauen, dann die Mailadresse mit regulären Ausdrücken auf Gültigkeit zu checken usw.
Aber so gesehen findet man da nie ein Ende. Denke mal als Basis isses OK!
greez
JoSsiF
Edit: ?! Da hats mir doch gerade den Post in der Mitte abgeschnitten...nochmal:Puh, okay. Waren paar Fehler bei der Seiten-Sache. Sollten jetzt raus sein. Die restlichen Vorschläge sind auch mit aufgenommen. And there it is:
<?
//Der PHP-Teil. Ohne PHP (oder einer anderen Internettauglichen
//Programmiersprache (wie z.B. Perl)) wird man kein Gästebuch zum
//Laufen bekommen.
// $page initialisieren, falls nicht gesetzt
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']."|";
$GBeintrag .= $_POST['myGBhp']."|";
$GBeintrag .= $_POST['myGBmail']."|";
$GBeintrag .= date("d.m.y")."|"; //datum muss natürlich auch mit rein
//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']);
//Und dann noch die Zeilenumbrüche raus damit alles in einer Reihe steht
//ist kein muss, sieht aber besser aus
$_POST['myGBtext'] = str_replace("\r\n","<!umbruch!>",$_POST['myGBtext']);
$GBeintrag .= $_POST['myGBtext']."\r\n";
//Den eintrag in die Textdatei schreiben
$openfile = fopen("myGB.txt","a");
flock($openfile,2);
fwrite($openfile,$GBeintrag);
flock($openfile,3);
fclose($openfile);
}
//Hier das Gästebuch öffnen und alle Einträge einlesen
$eintraege = @file("myGB.txt");
//Die Variable $ppp steht für Posts-Per-Page und gibt an,
//wieviele Beiträge auf einer Seite angezeigt werden sollen
$ppp = 5;
?>
<!--
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 zwichschen <? //und ?> befinden.
Sebstverständlich können diese natürlich an eine andere Stelle
verfrachtet werden.
//-->
<!-- KOPF DATEN //-->
<html>
<head>
<title>Mein Gä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ästebuchs</h1>
<!-- EINGABE TEIL //-->
<form action="" method="POST">
<table class="GBtable">
<tr class="GBhead">
<td colspan="2">Hier ins Gä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 -->
<?
//PHP-code um die Einträge anzuzeigen
//solange einträge vorhanden sind wird eine schleife durchlaufen
//von hinten nach vorne (also neueste zuerst)
$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 teilen
$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;
echo("<p align='center'>");
if($page>1)
{
echo("<a href='$PHP_SELF?page=1'>|< </a>");
echo("<a href='$PHP_SELF?page=".($page-1)."'>< </a>");
}
for($i = 1; $i<=$pages; $i++)
{
if($i == $page) echo($i." ");
else echo("<a href='$PHP_SELF?page=".$i."'>".$i." </a>");
}
if($page<$pages)
{
echo("<a href='$PHP_SELF?page=".($page+1)."'>> </a>");
echo("<a href='$PHP_SELF?page=".$pages."'>>|</a>");
}
echo("<br>Es sind<b> ".$max."</b> Einträge im Gästebuch");
echo("</p>");
?>
</center>
</body>
</html>
Die "Navigation" sieht noch etwas plump aus, aber sollte funktionieren.Wie Jan schon sagte: Wirklick saubere Arbeit. Was ein Forum so an einem Tag auf die Beine stellen kann wenn alle zusammenarbeiten ist echt beeindruckend.
Respekt!!!
Gruß Spawn
Also ich muss sagen die Navigation sieht gar net plump aus. Paar Styles draufgelegt, und das passt.
Der "Fehler", der vorher drin war, bezog sich nur auf den Parameter $page, der bei NULL statt bei EINS begonnen hat. Das wurde dann bei den Ausgaben durch Addition von 1 ausgebügelt, sodass das keine Auswirkung auf die Funktionalität hatte. Aber so isses natürlich rund!
greez
JoSsiF
Wen's interessiert: Das Gästebuch in Betrieb:
http://www.mg80s.de/index.php?action=kontakt
Bis auf das Design habe ich alles so gelassen, nur noch die |<, < "Buttons" etwas verändert, so dass sie immer angezeigt werden und zB auf Seite 1 eben nur kein Link sind.
Zumal es jetzt auf meiner Seite ist, bin ich natürlich auch interessiert an Überprüfung auf Fehler und ein kleines Admin-Tool, dass Einträge löschen/bearbeiten kann.
Setze mich also demnächst noch mal ran.
Gruß Spawn
Ok, ich will jetzt auch mal meinen Senf dazugeben
War ja ne ganz schöne Arbeit die ihr euch da gemacht habt, Respekt
Ich habe das ganze mal (stylisch) überarbeitet und ein bisschen umgestellt. So ist der "Eintragen" Teil jetzt unter der Übersicht der Einträge und ich habe noch ne "Überschrift" Funktion eingefügt.. Der CSS-Teil (Formatierung der Links) ist auch ein wenig abgeändert :
<?
//Der PHP-Teil. Ohne PHP (oder einer anderen Internettauglichen
//Programmiersprache (wie z.B. Perl)) wird man kein Gästebuch zum
//Laufen bekommen.
// $page initialisieren, falls nicht gesetzt
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['myGBueberschrift']."|";
$GBeintrag .= $_POST['myGBname']."|";
$GBeintrag .= $_POST['myGBhp']."|";
$GBeintrag .= $_POST['myGBmail']."|";
$GBeintrag .= date("d.m.y")."|"; //datum muss natürlich auch mit rein
//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']);
//Und dann noch die Zeilenumbrüche raus damit alles in einer Reihe steht
//ist kein muss, sieht aber besser aus
$_POST['myGBtext'] = str_replace("\r\n","<!umbruch!>",$_POST['myGBtext']);
$GBeintrag .= $_POST['myGBtext']."\r\n";
//Den eintrag in die Textdatei schreiben
$openfile = fopen("myGB.txt","a");
flock($openfile,2);
fwrite($openfile,$GBeintrag);
flock($openfile,3);
fclose($openfile);
}
//Hier das Gästebuch öffnen und alle Einträge einlesen
$eintraege = @file("myGB.txt");
//Die Variable $ppp steht für Posts-Per-Page und gibt an,
//wieviele Beiträge auf einer Seite angezeigt werden sollen
$ppp = 5;
?>
<!--
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 zwichschen <? //und ?> befinden.
Sebstverständlich können diese natürlich an eine andere Stelle
verfrachtet werden.
//-->
<!-- KOPF DATEN //-->
<html>
<head>
<title>Mein Gä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;
}
.GBinput {background-color: #00FFFF;
border: 1px solid #000000;}
.GBcontent {background-color: #FFFFFF;}
a.GBlink:link { text-deoration: none; color: #FFFFFF; }
a.GBlink:visited { text-deoration: none; color: #333333; }
a.GBlink:hover { text-decoration: underline; color: #999999; }
a.GBlink:active { text-decoration: overline; color: #FFFFFF; }
</style>
</head>
<body>
<center>
<h1><span style="font-family: verdana">Titel des Gästebuchs</span></h1>
<!-- EINTRÄGE ANZEIGEN -->
<?
//PHP-code um die Einträge anzuzeigen
//solange einträge vorhanden sind wird eine schleife durchlaufen
//von hinten nach vorne (also neueste zuerst)
$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 teilen
$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
?>
<span style="font-family: arial;"><table class="GBtable" style="width: 90%;">
<tr class="GBhead">
<td><small>- <span style="font-family: verdana;"><b><?=$Eintrag[0];?></span></b> - </small></br></td>
<td><small>- von : <span style="font-family: verdana;"><b><?=$Eintrag[1];?></b></span> - </small></td>
<td><small>- eingetragen am : <b><span style="font-family: verdana;"><?=$Eintrag[4];?></b></span> - </small></td>
<td><small>- <span style="font-family: verdana;"><a class="GBlink" href="mailto:<?=$Eintrag[2];?>"><i>E-Mail</i></a></span> - </small></td>
<td><small>- <span style="font-family: verdana;"><a class="GBlink" href="<?=$Eintrag[3];?>" target="_blank"><i>Homepage</i></a></span> - </small></td>
</tr>
<tr>
<td colspan="4"><?=nl2br($Eintrag[5]);?></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;
echo("<p align='center'>");
if($page>1)
{
echo("<a href='$PHP_SELF?page=1'>|< </a>");
echo("<a href='$PHP_SELF?page=".($page-1)."'>< </a>");
}
for($i = 1; $i<=$pages; $i++)
{
if($i == $page) echo($i." ");
else echo("<a href='$PHP_SELF?page=".$i."'>".$i." </a>");
}
if($page<$pages)
{
echo("<a href='$PHP_SELF?page=".($page+1)."'>> </a>");
echo("<a href='$PHP_SELF?page=".$pages."'>>|</a>");
}
echo("<br>Es sind<b> ".$max."</b> Einträge im Gästebuch");
echo("</p>");
?>
<!-- EINGABE TEIL //-->
<form action="" method="POST">
<span style="font-family: arial;"><table class="GBtable">
<tr class="GBhead">
<td colspan="2">Hier ins Gästebuch eintragen</td>
</tr>
<td>Überschrift</td>
<td><input class="GBinput" name="myGBueberschrift" size="30"></td>
</tr><tr>
<td>Dein Name</td>
<td><input class="GBinput" name="myGBname" size="30"></td>
</tr>
<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></span>
</center>
</body>
</html>
Das ganze kann man nochmal im "Original" (fast nicht abgeändert bis auf das oben erwähnte) anguggen :
http://bwddtclan.bw.funpic.de/Passwort/index.php?page=1
Hm naja, über den Sinn des Formulars unterhalb der Einträge lässt sich streiten.
Ich denke, wenn jetzt so 10-15 Einträge pro Seite angezeigt werden, dann wird der Besucher erstmal fleißig suchen, wo denn die Eingabemaske ist.
Aber das kann der Webmaster ja auch selber ohne großen Aufwand abändern - je nach Geschmack
greez
JoSsiF
Ich wollte jetzt gerade noch eine kleine Sache hinzufügen und zwar ein Kontaktformular.. Also kein "mailto:...." Link, sondern direkt ein Link auf so ein Formular (z.B.), sodass man den Autor direkt anschreiben kann.. Allerdings wurde ich ein wenig verwirrt, als ich das versucht habe...
Zunächst einmal, ließe sich das ja theoretisch ganz einfach lösen, die Variable für die angegebene email Adresse lautet ja wohl $Eintrag[3]..
Ich weiß jetzt aber nicht so genau, wie man das jetzt einbauen soll.. Also ich habe da mal was probiert (PROBIERT, hab null Peil von PHP!)
Eintrag in index.php :
<td><small>- <span style="font-family: verdana;"><form action="kontakt.php" method="post"><a class="GBlink" href="kontakt.php"<i>E-Mail</i></a><input type="hidden" name="empfemail01" value="<?=$Eintrag[3];?>"></span></form> - </small></td>
Eintrag in kontakt.php
<input type="hidden" name="empfemail02" value="<?$daten .= "Name: ".$_REQUEST['empfemail01']."\r\n";?>"</td>
<?php
#Datei mail.php
$daten .= "Name: ".$_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']."\r\n","Kontaktformular", $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 nehme jetzt an, dass das falsch ist (ich nehms nicht nur an, ich weiß es).. Wie gesagt, habe keine Ahnung von PHP..
Könnt ihr vielleicht mal drüberguggen ? Wäre wirklich sehr nett
Hi |
Also der erste Teil geht so nicht. Weil wenn du auf den Link klickst, wird ja das Formular nicht abgeschickt (es sei denn du löst das per JavaScript, was sich aber vermeiden lässt).
Hänge doch einfach die Mailadresse als Parameter an die URL an, und zwar so:
<a href="kontakt.php?empfemail02=<?="urlencode($Eintrag[3])?>">Link</a>
Die Mailadresse muss codiert werden, weil sie per GET (also in der URL) übertragen wird.
Den Wert des übergebenen Parameters dann wieder im Empgansscript mit urldecode() decodieren.
Der Rest sieht auf den ersten Blick funktionstüchtig aus, wobei ich's net probiert hab
greez
JoSsiF
Ok also um mal ein ganz plumpes Problem aufzuarbeiten wie löse ich das Problem mit dem Zeilenumbruch! Sorry bei euren codes kann ich nix mehr erkennen und hab da auch nich die lust das nachzuvollziehen wie ihr des gelöst habt, abgesehen davon bin ich da zu blöd für dat ganze php zeugs!
Also wie krieg ich ganz einfach und simpel die zeilenumbrüche in den griff???
PS: find ich ja mal geil dass des so ne gigantische Foren diskussion ergab *loool*
Gruß Syrus
Bei euch ich hab den Thread hier eröffnet bin dann aber ausgestiegen weil mir das hier zu hoch ist!
Also in meiner schreib.php steht folgendes:
<?php
echo"<html><head><title>Start</title></head><body>";
echo"<form method='GET' action='eintragen.php'>";
echo"<p> </p>";
echo"<p> </p>";
echo"<p><font color='#FFFFFF' style='font-size: 16pt'>Name:</font></p>";
echo"<p><font color='#FFFFFF'>";
echo"<input type='input' name='namen' value=''></font></p>";
echo"<p><font color='#FFFFFF' style='font-size: 16pt'>email: </font></p>";
echo"<p><font color='#FFFFFF'>";
echo"<input type='input' name='mail' value=''>";
echo" </font></p>";
echo"<p align='left'>";
echo"<font color='#FFFFFF'><span style='font-size: 16pt'>Ihr Text:</span></font></p>";
echo"<p align='left'>";
echo"<textarea name='text' rows='12' cols='107'>";
echo"</textarea><br><br>";
echo"</p>";
echo"<tr><td> </td><td><input type='submit' value='Abschicken'></td></tr>";
echo"</body>";
echo"</html>";
?>
in der eintragen.php das:
<?
$auslesen=fopen("tabelle.txt","a");
fwrite($auslesen,$namen."\n");
fwrite($auslesen,$mail."\n");
fwrite($auslesen,$text."\n");
fclose($auslesen);
?>
Mal ne andere Frage (hat hier überhaupt nichts mit dem Thread zu tun) wie alt seid ihr bzw. was arbeitet ihr studiert ihr??? Interessiert mich nur so weil man halt schon merkt, dass man wirklich überhaupt nicht mitreden kann!!!
« HOMEPAGE VORLAGEN | Account » | ||