• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Gästebuch funktioniert nicht...

Status
Für weitere Antworten geschlossen.

lukiB

Mitglied
Hallo....
Ich habe mir zum ersten mal ein Gästebuch gebastelt, aber wie ich erwartet hab, es funktioniert nicht...
Ich habe es auch schon hochgeladen, dann könnt ihr euch den Felher gleich anschaun. Gästebuch
Wenn man nun die Felder Ausfüllt und auf "absenden" klickt kommt immer eine Fehlermeldung.

Hier mal der Komplette PHP Code:
Code:
<?php
  #Feldinhalte Name und Kommentar werden in externe Datei geschrieben
  function SchreibeDatei ($Email,$Name,$Kommentar)
  {
    $datei = "gbook.txt";
    $Kommentar = strip_tags($Kommentar);
    $Kommentar = htmlentities($Kommentar);
    $Name = htmlentities($Name);
    
    $oeffnen = fopen ($datei, "a");
    fwrite ($oeffnen,
    "<a href=\"mailto:$Email\">$Name</a>\n$Kommentar\n<hr>\n");
    fclose ($oeffnen);
   
    $allesklar = TRUE;
    }
    else
    {
    $allesklar = FALSE;
    }
    return $allesklar;
  }
  #Funktion endet hier

<html>
<head>
<title>Gästebuch</title>
</head>
<body>

<?php
   #Rückmeldung für den Benutzer
   $CallFunktion = SchreibeDatei ($Email,$Name,$Kommentar);
   if ($CallFunktion)
   {
   print ("Danke für den Eintrag");
   }
   else
   {
   print ("Fehler, bitte nochmal versuchen");
   }
?>

<p>
<a href="gbook1.php">Zurück / Einträge lesen</a></p>
</body>
</html>

Ich finde einfach den Fehler nicht.
Könnt ihr mir helfen?

Mfg lukiB
 
Werbung:
so wie ich das sehe hast du in deiner funktion eine else drin ohne vorher ein if zu setzen..heißt also mit der } über der else schließt du die funktion ab und das else steht ohne zusammenhang da...

als muss irgendwo über das else noch ne if abfrage
 
Werbung:
Hab den Fehler: Soweit ich weiß, kann man einer Funktion kein else zuweisen:

Code:
function blabla {
 
} else { // Fehler
 
} // Fehler
Kann es sein, dass du da irgendwo innerhalb der funktion ein if rausgeschnitten hast?

Code:
<?php
  #Feldinhalte Name und Kommentar werden in externe Datei geschrieben
  function SchreibeDatei ($Email,$Name,$Kommentar)
  {
        //von hier
    $datei = "gbook.txt";
    $Kommentar = strip_tags($Kommentar);
    $Kommentar = htmlentities($Kommentar);
    $Name = htmlentities($Name);
 
    $oeffnen = fopen ($datei, "a");
    fwrite ($oeffnen,
    "<a href=\"mailto:$Email\">$Name</a>\n$Kommentar\n<hr>\n");
    fclose ($oeffnen);
 
    $allesklar = TRUE;
         // bis hier muss ein if stehen
    }
    else
    {
    $allesklar = FALSE;
    }
    return $allesklar;
  }
  #Funktion endet hier
 
<html>
<head>
<title>Gästebuch</title>
</head>
<body>
 
<?php
   #Rückmeldung für den Benutzer
   $CallFunktion = SchreibeDatei ($Email,$Name,$Kommentar);
   if ($CallFunktion)
   {
   print ("Danke für den Eintrag");
   }
   else
   {
   print ("Fehler, bitte nochmal versuchen");
   }
?>
 
<p>
<a href="gbook1.php">Zurück / Einträge lesen</a></p>
</body>
</html>
 
Werbung:
kann es sein das das If vor
Code:
$allesklar = TRUE;
kommt?
Aber kann das dann da einfach so stehen?
Code:
if $allesklar = TRUE;

//oder muss das so?

if ($allesklar = TRUE);

//?
Bitte um hilfe.

Mfg lukiB
 
jein...if abfrage müssen natürlich in klammern, aber mit = setzt du $allesklar dann immer auf TRUE;

wenn dann
PHP:
if ($allesklar == true)
{
}
else
{
}
oder
PHP:
if($allesklar) #wird autmatisch auf true/false geprüft
{
}
else
{
}
das problem dabei ist das $allesklar vorher nie gesetzt wird und deshalb leer ist und immer false

wenn du es aus einem tutorial hast dann guck doch da nochmal nach ob du was vergessen hast
 
Werbung:
Werbung:
dann mail das buch mal rüber ^^
nein...aber du kommst wohl net drumherum den code im buch nochmal zeile für zeile durchzulesen, denn da fehlt definitiv code

versuchs mal so

PHP:
<?php
  #Feldinhalte Name und Kommentar werden in externe Datei geschrieben
  function SchreibeDatei ($Email,$Name,$Kommentar)
  {
    $datei = "gbook.txt";
    $Kommentar = strip_tags($Kommentar);
    $Kommentar = htmlentities($Kommentar);
    $Name = htmlentities($Name);
    
    $oeffnen = fopen ($datei, "a");
    $allesklar = fwrite ($oeffnen,
    "<a href=\"mailto:$Email\">$Name</a>\n$Kommentar\n<hr>\n");
    fclose ($oeffnen);
  
    return $allesklar;
  }
  #Funktion endet hier

<html>
<head>
<title>Gästebuch</title>
</head>
<body>

<?php
   #Rückmeldung für den Benutzer
   $CallFunktion = SchreibeDatei ($Email,$Name,$Kommentar);
   if ($CallFunktion)
   {
   print ("Danke für den Eintrag");
   }
   else
   {
   print ("Fehler, bitte nochmal versuchen");
   }
?>

<p>
<a href="gbook1.php">Zurück / Einträge lesen</a></p>
</body>
</html>
 
Mh.. ne klappt leider nicht.
Naja ich denke ich schaue mich nach einem anderen Tutorial um.
Mal sehn was ich finde =)

Danke für eure Hilfe!

Mfg lukiB
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben