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

Fragen zur Gästebucherstellung

Status
Für weitere Antworten geschlossen.

WEBI

Neues Mitglied
Hallo,

ich habe eine Frage und zwar: Ich möchte ein Gästebuch schreiben, und dazu habe ich diesen Quelltext...

Aber es zeigt mir immer den Fehler an:

Parse error: parse error, unexpected T_STRING in C:\Programme\Apache Group\Apache2\htdocs\guestbook_simple_new.php on line 70


Hier wäre der Code:

Code:
<form action=locahost method=post>
      <table width="400" border="0" cellspacing="1" cellpadding="1">
        <tr> 
          <td width="146"> 
            

Ihr Name:</p>
          </td>
          <td width="254" valign="middle"> 
            <input type="text" name="name" size="35">
          </td>
        </tr>
        <tr> 
          <td width="146"> 
            

Ihre eMail-Adresse:</p>
          </td>
          <td width="254" valign="middle"> 
            <input type="text" name="email" size="35">
          </td>
        </tr>
        <tr> 
          <td width="146"> 
            

Ihre Homepage:</p>
          </td>
          <td width="254" valign="middle"> 
            <input type="text" name="homepage" size="35">
          </td>
        </tr>
        <tr> 
          <td width="146">
            

Ihr Eintrag:</p>
          </td>
          <td width="254" valign="middle"> 
            <textarea name="eintrag" rows="3" cols="30"></textarea>
          </td>
        </tr>
        <tr> 
          <td colspan="2"> 
            <p align="center"> 
              <input type="submit" name="GuestbookNew" value="Abschicken">
            </p>
          </td>
        </tr>
      </table>
      </form> 

<?php include("guestbook_data.htm") ?>
<?
if(isset($_POST['GuestbookNew'])){
//HTML- und PHP-Tags aus den Eingabefeldern entfernen
  $name=strip_tags($name);
  $email=strip_tags($email);
  $homepage=strip_tags($homepage);
  $eintrag=strip_tags($eintrag);
  
//Konvertiere Zeilenumbrüche in HTML-
-Umbrüche
  $eintrag=nl2br($eintrag);
  
//Eingaben überprüfen 
  if(strlen($name)<3){
  //Kein richtiger name eingegeben
  $error_msg="Bitte geben deinen Namen an";
  }

if(strlen($eintrag)<3){
  //Kein Eintrag vorgenommen
  $error_msg.="
Bitte Schreib auch was in mein Gästebuch.";
  }
 
if(ereg("^[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z] {2,4})$",$email)){
//Mailadresse korrekt angegeben - name formatieren 
$name="[url="mailto:"]" . $name . "[/url]":}


if(ereg("^([a-zA-Zo-9-]+\.)+([a-zA-Z]{2,4})$",$homepage)){
//Es wurde auch eine Homepageadresse angegeben - entsprechende Formatierung vornehmen
if(!ereg("^http:////",$homepage)){
  //http:// fehlt in der Angabe der Adresse - hier ergänzen
  $homepage="http://" . $homepage;
  }
 $hp_format="
Homepage: <a href=" . $homepage. " target='_new'> .
$homepage . "</a>;
}

if(isset($error_msg)){
       //Fehlerhafte Angaben-Hinweis ausgeben und keinen 
         Eintrag vornehmen
      $message="
Dein Eintrag konnte leider nicht in unser
       Gästebuch aufgenommen werden:</br>;
      $message.=$error_msg;
      $message.="
Klicken Sie auf <a
       href="javascript:history.back(1)>zurück</a>.

";
  }else{
  
  
}

//Neuen Gästebucheintrag vornehmen
    //Neuen Gästebucheintrag formatieren
    $new_entery ="<table width='400' border='0' cellspacing='1'
cellpadding='1'>\r\n";
    $new_entery.="  <tr valign='top' >\r\n";
    $new_entery.="    <td class='kleiner' width'300'>Name: " . $name .
$hp_format . "</td>\r\n";
    $new_entery.="    <td class='kleiner' width='100'>" . date("d.m.Y
H:i") . "</td>\r\n";
    $new_entery.="  </tr>\r\n";
    $new_entery.="  <tr valign='top'>\r\n";
    $new_entery.="    <td colspan='2' class='kleiner'>\r\n";
    $new_entery.="      

" . $eintrag . "</p>\r\n";
    $new_entery.="    </td>\r\n";
    $new_entery.="    </tr>\r\n";
    $new_entery.="    <tr>\r\n";
    $new_entery.="      <td colspan='2'>\r\n";
    $new_entery.="         <hr width'400' size='1' noshade>\r\n";
    $new_entery.="    </td>\r\n";
    $new_entery.="   </tr>\r\n";
    $new_entery.="</table>\r\n";
    
$guestfile="guestbook.data.htm";
    //Zuerst alte Einträge auslesen
    if(file_exists($guestfile)) {
      $fp=fopen($guestfile,"r");
      $guest_data=fread($fp,filesize($guestfile));
      fclose($fp);
  }
  
//Gästebucheinträge neu anlegen und den neuen an den Beginn schreiben
 $fp=fopen($guestfile,"w");
 flock($fp,LOCK_EX);
 fputs($fp,$new_entery);
 if(isset($guest_data))  fputs($fp,$guest_data);
 flock($fp,LOCK_UN);
 fclose($fp);

}
?>

Bitte helft mir so schnell wie möglich....

Danke

WEBI :D :D :D
 
Werbung:
lern lesen und du weißt wo der fehler ist: in zeile 70 (-> zählen^^) ("on line 70")


ich sehe gerade: man kanns nicht nachzählen, denn du hast keinen gescheiten code dahingeschrieben, d.h. du hast den code rauskopiert, da wo du meinst, wo der fehler ist...


bitte alles reinkopieren, sonst kann man dir nicht helfen
 
markierst du bitte mal die zeile 70? kann ja nicht das komplette dokument sein ;)
 
Werbung:
Das hilft leider nicht´s. :( :( :wink:

Es zeigt immer noch den gleichen Fehler an....

Aber Danke für die Antwort
 
$hp_format="
Homepage: <a href=" . $homepage. " target='_new'> .
$homepage . "</a>;

das ist auch falsch es muss so sein:

$hp_format="
Homepage: <a href=" . $homepage. " target='_new'>" .
$homepage . "</a>";
 
Werbung:
Auweia,

was könnte da das Problem sein?

Wenn ich es öffne mit rechts klick>öffnen mit>Internet Explorer, zeigt es mir an:


Ihr Name:

Ihre eMail-Adresse:

Ihre Homepage:

Ihr Eintrag:



-Umbrüche $eintrag=nl2br($eintrag); //Eingaben überprüfen if(strlen($name)<3){ //Kein richtiger name eingegeben $error_msg="Bitte geben deinen Namen an"; } if(strlen($eintrag)<3){ //Kein Eintrag vorgenommen $error_msg.="
Bitte Schreib auch was in mein Gästebuch."; } if(ereg("^[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z] {2,4})$",$email)){ //Mailadresse korrekt angegeben - name formatieren $name="Klicken Sie auf


Wenn ich es aber mit der Adresse: http://localhost/guestbook_simple_new.php öffne, kommt wieder die gleiche Fehlermeldung.

An was kann das liegen, und warum ist beides so unterschiedlich....???

Könnte es auch daran liegen, das kein Sendmail Programm für den Server installiert ist....???

:?: :?:
 
informiere dich einfach mal was php ist :) dann verstehst du schon warum es so unterschiedlich ist
(zb hier: http://de.wikipedia.org/wiki/PHP )
es liegt nicht an fehlenden programmen, ein parse error sagt einfach nur das das Programm nicht ausfuehrbar war weil es Fehler enthaelt. (; statt : . usw) d.h. das der "Parser" nicht versteht was du von ihm willst und seine arbeit abbricht :)
 
Ja schon,

Hab mir jetzt diese Seite mal angeschaut, interessant.

aber was ist bei mir hier der Fehler......


:?:
 
Werbung:
noch eine frage: hast du das selber gemacht oder irgendwo runtergeladen? bei ersterem helfe ich dir gerne.

edit: crackpod das war mir schon klar *g* war mehr ne rhetorische frage ""wenn du dich selber anstrengen wuerdest, wuerden wir dir gerne helfen"" ;)
 
weil in dem Script eregi_replace vorkommt, schliese ich, dass er das nicht selber gemacht hat! Anfänger können damit nich sofort eine Emailprüfung machen. Und wenn ers selber gemacht hätte, wüsste er mit den paar simplen Fehlermeldungen umzugehen
 
Danke Danke für eure Unterstützung.


Ne, ich habe den Code aus dem Buch PHP 5. Das kennt ihr bestimmt. Was soll ich jetzt machen...???

Wo soll ich nun nachschauen....???

Bin wirklich auf eure Hilfe angewiesen..

Danke schon mal :D :D
 
Werbung:
natuerlich kennen wir ein buch mit dem titel "PHP 5" . dir ist schon klar das es davon ungefaehr 200 stueck gibt?
wenn solch ein scheiss in einem buch steht (parse error ohne ende) und du trotz des buches nicht in der lage bist die einfachsten fehler zu finden wuerde ich sagen hast du mit dem buch voll daneben gelangt :)
ich empfele dir buecher ueber php von addison - wesley :)
(ps: leueten die ihren code nicht selber erstellt haben wird hier nicht so gern geholfen - kannst dir ja vorstellen warum)

hier mal nen paar fehler (hat 20 sek gedauert das in eclipse reinzukopieren und alle rot unterstrichenen fehler zu suchen ... )


Falsch
Code:
$name="[url="mailto:"]" . $name . "[/url]":}
Richtig
Code:
$name='[url="mailto:"]' . $name . '[/url]';
Falsch
Code:
$homepage . "</a>;
Richtig
Code:
$homepage . '</a>';
Falsch
Code:
 $hp_format="
Homepage: <a href=" . $homepage. " target='_new'> .
$homepage . "</a>;
Richtig
Code:
 $hp_format='
Homepage: <a href="' . $homepage. '" target="_new">' .
$homepage . '</a>';
Falsch
Code:
      $message="
Dein Eintrag konnte leider nicht in unser
       Gästebuch aufgenommen werden:</br>;
Richtig
Code:
      $message='
Dein Eintrag konnte leider nicht in unser
       G?stebuch aufgenommen werden:</br>';
Falsch
Code:
      $message.='
Klicken Sie auf <a href="javascript:history.back(1)>zur?ck</a>.

';
Richtig
Code:
      $message.='
Klicken Sie auf <a href="javascript:history.back(1)>zur?ck</a>.

';

alles so fehler wo man sich fragt: ist dein buch einfach nur schlecht oder bist du zu faul es zu lesen?
selst dann wird es nicht funktionieren weil das html schon ziemlicher muell ist (text in
elementen? hoer sich etwas krank an)
achso und bitte keine pns mehr wegen dem thema- 3 reichen mir :roll:
 
Ne ich schreib schon keine mehr.

Ich werd die Sachen morgen mal ändern. Und dann sollte es klappen oder wie...???


Ich wusste davor nicht, dass das Buch so ein scheiss ist, so wie ihr bzw. du das sagst.

Aber trotzdem nochmal danke, das ihr euch so viel mühe um mich macht..... :D
 
Eine Frage noch.

Ich hab das jetzt so gemacht, wie du das gesagt hast.

Jetzt heißt es aber:

Parse error: parse error, unexpected $end in C:\Programme\Apache Group\Apache2\htdocs\guestbook_simple_new.php on line 132


Mein code schaut jetzt so aus:

<form action=locahost method=post>
<table width="400" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="146">


Ihr Name:</p>
</td>
<td width="254" valign="middle">
<input type="text" name="name" size="35">
</td>
</tr>
<tr>
<td width="146">


Ihre eMail-Adresse:</p>
</td>
<td width="254" valign="middle">
<input type="text" name="email" size="35">
</td>
</tr>
<tr>
<td width="146">


Ihre Homepage:</p>
</td>
<td width="254" valign="middle">
<input type="text" name="homepage" size="35">
</td>
</tr>
<tr>
<td width="146">


Ihr Eintrag:</p>
</td>
<td width="254" valign="middle">
<textarea name="eintrag" rows="3" cols="30"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<p align="center">
<input type="submit" name="GuestbookNew" value="Abschicken">
</p>
</td>
</tr>
</table>
</form>

<?php include("guestbook_data.htm") ?>
<?
if(isset($_POST['GuestbookNew'])){
//HTML- und PHP-Tags aus den Eingabefeldern entfernen
$name=strip_tags($name);
$email=strip_tags($email);
$homepage=strip_tags($homepage);
$eintrag=strip_tags($eintrag);

//Konvertiere Zeilenumbrüche in HTML-
-Umbrüche
$eintrag=nl2br($eintrag);

//Eingaben überprüfen
if(strlen($name)<3){
//Kein richtiger name eingegeben
$error_msg="Bitte geben deinen Namen an";
}

if(strlen($eintrag)<3){
//Kein Eintrag vorgenommen
$error_msg.="
Bitte Schreib auch was in mein Gästebuch.";
}

if(ereg("^[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z] {2,4})$",$email)){
//Mailadresse korrekt angegeben - name formatieren
$name='' . $name . '';


if(ereg("^([a-zA-Zo-9-]+\.)+([a-zA-Z]{2,4})$",$homepage)){
//Es wurde auch eine Homepageadresse angegeben - entsprechende Formatierung vornehmen
if(!ereg("^http:////",$homepage)){
//http:// fehlt in der Angabe der Adresse - hier ergänzen
$homepage="http://" . $homepage;
}
$hp_format='
Homepage: <a href="' . $homepage. '" target="_new">' .
$homepage . '</a>';
}

if(isset($error_msg)){
//Fehlerhafte Angaben-Hinweis ausgeben und keinen Eintrag vornehmen
$message='
Dein Eintrag konnte leider nicht in unser
Gaestebuch aufgenommen werden:</br>';
$message.=$error_msg;
$message.='
Klicken Sie auf <a href="javascript:history.back(1)>zur?ck</a>.

';
}else{


}

//Neuen Gästebucheintrag vornehmen
//Neuen Gästebucheintrag formatieren
$new_entery ="<table width='400' border='0' cellspacing='1'
cellpadding='1'>\r\n";
$new_entery.=" <tr valign='top' >\r\n";
$new_entery.=" <td class='kleiner' width'300'>Name: " . $name .
$hp_format . "</td>\r\n";
$new_entery.=" <td class='kleiner' width='100'>" . date("d.m.Y
H:i") . "</td>\r\n";
$new_entery.=" </tr>\r\n";
$new_entery.=" <tr valign='top'>\r\n";
$new_entery.=" <td colspan='2' class='kleiner'>\r\n";
$new_entery.="

" . $eintrag . "</p>\r\n";
$new_entery.=" </td>\r\n";
$new_entery.=" </tr>\r\n";
$new_entery.=" <tr>\r\n";
$new_entery.=" <td colspan='2'>\r\n";
$new_entery.=" <hr width'400' size='1' noshade>\r\n";
$new_entery.=" </td>\r\n";
$new_entery.=" </tr>\r\n";
$new_entery.="</table>\r\n";

$guestfile="guestbook.data.htm";
//Zuerst alte Einträge auslesen
if(file_exists($guestfile)) {
$fp=fopen($guestfile,"r");
$guest_data=fread($fp,filesize($guestfile));
fclose($fp);
}

//Gästebucheinträge neu anlegen und den neuen an den Beginn schreiben
$fp=fopen($guestfile,"w");
flock($fp,LOCK_EX);
fputs($fp,$new_entery);
if(isset($guest_data)) fputs($fp,$guest_data);
flock($fp,LOCK_UN);
fclose($fp);}
?>


Was ist da Falsch in der letzten Zeile...???

Einen PHP Code schließe ich doch mit ?> oder etwa bei diesem Befehl nicht....???

:?: :| :?:
 
Werbung:
jap und dazu noch phpeclipe
eclipse kann bei mir c++, Perl, Java, Css, php und Html highlighten/automatisch ergaenzen/korrigieren
(zb automatische einrueckung von nicht formatiertem php code - sehr geil )

ist allerdings riesig, benoetigt ne java umgebung und braucht ungefaehr 15 sek zum starten ;)
edit: so siehts bei mir aus
http://sau.frubar.net/1843
 
Hallo,

was brauche ich den alles um phpeclipe zu installieren.....??

gibt es da eine Seite....??? :lol:
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben