php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.06.2005, 14:39  
Gast
 
Beiträge: n/a
Standard [Erledigt] Probleme mit dem Gästebuch

HI,
hab mich mal rangemacht ein kleines Gästebuch zu schreibe das die Einträge in eine Textdatei schreibt und von da aus ausliest.

Folgendes klappt aber leider nicht so wie es soll:
- bei jedem Seitenaufruf wird ein leerer Eintrag erstellt
- die Anweisungen, wenn action = add ist werden nicht ausgeführt
- der letzte Eintrag im Gästebuch steht unten und nicht wie erhofft oben

Ideen und Lösungsvorschläge wären sehr nett... :wink:

Hier mein Quelltext:
PHP-Code:
<html>
<head>
<title>Sven's Gästebuch</title>
</head>
<body>
<?php
if($_POST['action'] == "add")
{
if(empty(
$_POST['name']) || empty($_POST['mail']) || empty($_POST['text']))
{
echo 
"[b]Du hast nicht alle Felder ausgef&uuml;llt ![/b]
"
;
echo 
"Klicke auf den Zurück-Button deines Browsers";
}
else{
$n $_POST['name'];
echo 
"Danke [i]$n[/i] f&uuml;r deinen Eintrag!";
}
}
else
{
?>
[b]Eintragen in mein G&auml;stebuch[b]

<form action="gb.php?action=add" method="post">
Dein Name: <input type="text" name="name" size="24">

E-Mail: <input type="text" name="mail" size="24">

Homepage: <input type="text" name="www" size="24">



Dein Eintrag:

<textarea name="text" cols="35" rows="5"></textarea>
 
<input type="submit" value="Abschicken">
<input type="reset" value="Löschen">
</form>
<?php
$zeit 
getdate();
$tag $zeit["mday"];
$jahr $zeit["year"];
$stunden $zeit["hours"];
$minuten $zeit["minutes"];
$monat $zeit["month"];
$wochentag $zeit["weekday"];

switch (
$wochentag)

case 
"Monday";
    
$wochentag_de "Montag";
    break;
case 
"Tuesday";
        
$wochentag_de "Dienstag";
        break;
case 
"Wednsday";
        
$wochentag_de "Mittwoch";
        break;
case 
"Thursday";
        
$wochentag_de "Donnerstag";
         break;
case 
"Friday";
        
$wochentag_de "Freitag";
       break;
case 
"Saturday";
        
$wochentag_de "Samstag";
        break;
case 
"Sunday";
        
$wochentag_de "Sonntag";
        break;
}

switch(
$monat)
{
case 
"January";
    
$monat_de "Januar";
    break;
case 
"February";
     
$monat_de="Februar";
     break;
   case 
"March";
     
$monat_de="März";
     break;
   case 
"June";
     
$monat_de="Juni";
     break;
   case 
"July";
     
$monat_de="Juli";
     break;
   case 
"October";
     
$monat_de="Oktober";
     break;
   case 
"December";
     
$monat_de="Dezember";
     break;  
}

$nummer fopen("gaesteanzahl.txt","r");
$zahl fgets($nummer,10);
$zahl=trim($zahl);
$zahl++;
$nummer_schreiben fopen("gaesteanzahl.txt","w");
fwrite($nummer_schreiben,$zahl);
        
$nummer_und_datum="Nr. $zahl vom $wochentag_de, den $tag. $monat_de $jahr um $stunden.$minuten Uhr.";         
$text=nl2br($text);  //Zeilenumbrüche in 
 
umwandeln        


$name 
=$_POST['name']; 
$email $_POST['mail'];
$homepage $_POST['www'];
$text $_POST['text'];

 
$eintrag="<table width=\"78%\">
 <tr><td colspan=\"2\">$nummer_und_datum</td></tr>
<tr><td width=\"12%\">Name:</td><td width=\"88%\">$name</td></tr>
<tr><td width=\"12%\">Email:</td><td width=\"88%\"><a href=\"mailto:$email \">$email </td></tr>
<tr><td width=\"12%\">Homepage:</td><td width=\"88%\"><a href=\"http://$homepage\" target=\"_blank\">$homepage</td></tr>
<tr><td colspan=\"2\">$text</td></tr></table>

\n"


$eintraege_alt file("gaeste.txt");
$eintraege_anzahl count($eintraege_alt);
$eintraege "$eintrag$eintraege_alt[0]";
for(
$i=0$i<$eintraege_anzahl$i++)
{
$eintreage "$eintrag$eintraege_alt[$i]";
}
$datei fopen("gaeste.txt","a");
fwrite($datei,$eintraege);
}
?>
</body>
</html>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.06.2005, 14:45  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1) Die Daten in der Reihenfolge in die Datei schreiben wie man sie drinhaben will
2) du übergibst kein $_POST['action'] sondern, da du es als link im action-teil des formulars angegeben hast als $_GET['action']
3) kann man in deinem gästebuch html verwenden


mfg
robo47
robo47 ist offline  
Alt 07.06.2005, 14:57  
Gast
 
Beiträge: n/a
Standard

Ja und ich wollte genau wissen ,wie ich das in der Reihenfolge darein schreibe

Außerdem, wenn ich $_GET['action'] benutze, dann erscheint zwar die Anweisung, aber dafür werden die Daten nicht in der Textdatei gespeichert..
 
Alt 07.06.2005, 15:07  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

www.php.net/fopen
schau dir mal den 2ten parameter an.

und dass immer ein eintrag passiert liegt daran dass dein teil der daten in die textdatei schreibt, ja auch nicht in dem IF drin ist sondern im allgemeinen teil, daher wird bei jedem klick ein eintrag gemacht.

an deiner stelle benutze mal die suchfunktion, weil an dem gästebuch stimmt viel nicht, such dir ein kleines tutorial und schau dir das mal an, weil es ist keine saubere lösung alles schon als html in der datei zu speichern etc ...
für eine datei die du mit file() öffnest, ist es desweiteren nicht sinnvoll einen eintrag über mehrere zeilen zu verteilen ....

mfg
robo47
robo47 ist offline  
Alt 07.06.2005, 15:12  
Erfahrener Benutzer
 
Registriert seit: 25.02.2004
Beiträge: 1.524
Orolhawion
Standard

ein tutorial findest du z.b. hier:
http://www.php-info.org/forum2.html
__________________
"die Mitte des Textes kann ja theor. mitten in einem Text liegen"

http://www.jagr.de/
Orolhawion ist offline  
Alt 07.06.2005, 15:22  
Gast
 
Beiträge: n/a
Standard

Danke...
Werd mich da mal informieren und wenn ich was nicht verstehe nerv ich hier weiter
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Firefox / IE - Probleme HTML, Usability und Barrierefreiheit 5 20.07.2009 17:04
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit mbstring extension unter Debian HStev Server, Hosting und Workstations 3 30.08.2006 20:55
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
Probleme bei der Installation von Turck MMCache tomx992 PHP-Fortgeschrittene 2 27.09.2005 20:31
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
[Erledigt] CSV Größe macht Probleme mit php PHP Tipps 2005 5 15.03.2005 21:29
Performances Probleme bei z.B. LIMIT 300000,10 Datenbanken 28 13.02.2005 10:57
Zwei Rechner ins Netz - Router - Hub - Probleme... imported_Ben Off-Topic Diskussionen 37 13.01.2005 21:36
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11
Auslesen eines Ordner bringt Probleme PHP Tipps 2004 2 09.06.2004 13:56
PHP Bilder in DB / Probleme bei Änderung PHP-Fortgeschrittene 1 05.06.2004 11:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
probleme mit dem gästebuch

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:18 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.