Forum
Tipps
News
Menu-Icon
Thema geschlossen (topic locked)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ups... die Sache mit dem flock() hab ich versaut  :-[

Die flock()-Befehle sind in der Hitze des Gefechts etwas zu tief gerutscht ;)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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&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="" 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 -->
<?
//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>&nbsp;&nbsp;");
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&auml;chste Seite</a>");
echo("&nbsp;&nbsp;<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&auml;ge im G&auml;stebuch;
noch an geeigneter stelle unterbringen.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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&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="" 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 -->
<?
//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&auml;ge im G&auml;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
« Letzte Änderung: 17.05.05, 15:11:04 von Spawn »

fast ;-)..aber das problem hatte ich auch bei erstem mal das das forum mir die hälfte des codes abgeschnitten hat...

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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&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;
          }

  .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&auml;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&auml;ge im G&auml;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&auml;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
« Letzte Änderung: 17.05.05, 18:25:45 von Der olle Schwoebel »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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 :

Zitat
<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
Zitat
<input type="hidden" name="empfemail02" value="<?$daten .= "Name: ".$_REQUEST['empfemail01']."\r\n";?>"</td>

Zitat
<?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
 :)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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 8)
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

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ähm... jetzt muss ich aber nochmal dumm ranfragen: welches Problem mit den Zeilenumbrüchen? Funzt doch alles ;)

« Letzte Änderung: 18.05.05, 01:12:13 von JoSsiF »

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>&nbsp;</p>";
echo"<p>&nbsp;</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"&nbsp;</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>&nbsp;</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 VORLAGENAccount »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Unicode
Unicode ist ein international anerkannter Standard, der als universeller Zeichencode ("Universal Code") dient und durch das Unicode-Konsortium entwickelt und verwaltet wi...

QR-Code
QR-Codes, die Abkürzung für "Quick Response Codes", sind eine Form von zweidimensionalen Barcodes. Damit lassen sich Informationen schnell und effizient speiche...