Gästebuch | Problem nach Provider-Wechsel

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gästebuch | Problem nach Provider-Wechsel

    Hallo!

    Ein Kunde hat einen Server-Wechsel vorgenommen. Der neue Server unterstützt PHP 3 u. 4. Mein Gästebuch-Script funktioniert allerdings nicht mehr.

    In einer gaeste.html hab' ich ein Eingabeformular, die Daten werden mittels POST an gbuchlesen.php übergeben:

    ...
    PHP-Code:
    <?
    $zaehler = "gbuch.txt";
    $fo_gbuch=fopen($zaehler,"r");
    $str_gbuch = fread ($fo_gbuch, filesize ($zaehler));

    $tagname=date("w");
            switch ($tagname) {
                case 0:
                $tag='Sonntag';
                break;

                case 1:
                $tag='Montag';
                break;

                case 2:
                $tag='Dienstag';
                break;

                case 3:
                $tag='Mittwoch';
                break;

                case 4:
                $tag='Donnerstag';
                break;

                case 5:
                $tag='Freitag';
                break;

                case 6:
                $tag='Samstag';
                break;
            }

    $tag_nummer=date("d");
    $mon=date("m");
    $year=date("Y");

    $datum="$tag, $tag_nummer.$mon.$year";
    ?>
    <body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0">
    <div align="left">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr valign="top">
    <td align="center">
    <h1>Sag uns deine Meinung!</h1>
    <table border="0" cellspacing="0" cellpadding="0" width="95%" align="left">
    <tr>
    <td>
    PHP-Code:
    <?
    if($lesen == 'true') {
        echo'<table border="0" cellspacing="0" cellpadding="0" width="100%">
              <tr>
               <td height="30"></td>
              </tr>
              <tr>
               <td><table border="0" cellspacing="0" cellpadding="0" width="100%">';
               include("gbuch.txt");
        echo'</table></td></tr>
             <tr><td height="30" valign="bottom">
             <table border="0" cellspacing="0" cellpadding="0" width="100%">
             <tr><td width="3%"></td><td width="94%"><hr></td><td width="3%"></td></tr>
             <tr><td colspan="3" height="5"></td></tr>
             <tr><td width="3%"></td><td width="94%"><a href="gaeste.html" target="main">Eintrag hinzuf&uuml;gen</a></td><td width="3%"></td></tr></table>
             </td></tr></table>';
    }
    else {
        if(($name == FALSE) or ($text == False)) {
            echo'<table border="0" cellspacing="0" cellpadding="0" width="100%">
              <tr>
               <td height="30"></td>
              </tr>
              <tr>
               <td><table border="0" cellspacing="0" cellpadding="0" width="100%">
                    <tr><td width="10%"></td>';
             echo'<td width="80%">Fehler!!! Die Felder Name, E-Mail und Text m&uuml;ssen ausgef&uuml;llt werden<hr>
                                  <a href="gaeste.html" target="main">zur&uuml;ck</a></td>';
             echo'<td width="10%"></td></tr></table></td></tr></table>';
        }
        elseif((preg_match('/[<>]/', $name)) or (preg_match('[<>]',$email)) or (preg_match('/[<>]/', $homepage)) or (preg_match('/[<>]/', $text))) {
            echo'<table border="0" cellspacing="0" cellpadding="0" width="100%">
              <tr>
               <td height="30"></td>
              </tr>
              <tr>
               <td><table border="0" cellspacing="0" cellpadding="0" width="100%">
                    <tr><td width="10%"></td>';
             echo'<td width="80%">Fehler!!! Diese Zeichen sind nicht erlaubt<hr>
                                  <a href="gaeste.html" target="main">zur&uuml;ck</a></td>';
             echo'<td width="10%"></td></tr></table></td></tr></table>';
         }
         elseif(!preg_match('/^[.a-zA-Z0-9_-]+@([.a-zA-Z0-9_-]+)\.[a-zA-Z0-9_-]{2,4}$/',$email)) {
             echo'<table border="0" cellspacing="0" cellpadding="0" width="100%">
              <tr>
               <td height="30"></td>
              </tr>
              <tr>
               <td><table border="0" cellspacing="0" cellpadding="0" width="100%">
                    <tr><td width="10%"></td>';
             echo'<td width="80%">Fehler!!! Mit der Email Adresse scheint etwas nicht in Ordnung zu sein<hr>
                                  <a href="gaeste.html" target="main">zur&uuml;ck</a></td>';
             echo'<td width="10%"></td></tr></table></td></tr></table>';
         }
         else {
             $gbuch = fopen($zaehler, "w");
             if($gbuch) {
                 $homepage=preg_replace('/http\:\/\//','',$homepage);
                 $text=preg_replace('/\n/','<br>',$text);
                 $ausgabe="<tr><td width=\"10%\"></td><td width=\"80%\" bgcolor=\"#E6E6E6\">
                           <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">
                           <tr><td width=\"3%\"></td><td colspan=\"2\" colspan=\"2\" width=\"94%\" style=\"text-align:right\">$datum</td><td width=\"3%\"</tr>
                           <tr><td width=\"3%\"></td><td width=\"47%\"><b>$name<b></td><td width=\"47%\" style=\"text-align:right\"><a href=\"mailto:$email\">$email</a></td><td width=\"3%\"></td></tr>
                           </table>
                           </td><td width=\"10%\"></td></tr>
                           <tr><td width=\"10%\"></td><td width=\"80%\" bgcolor=\"#000000\">
                           <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">
                           <tr><td height=\"1\"></td></tr></table>
                           </td><td width=\"10%\"></td></tr>
                           <tr><td width=\"10%\"></td><td width=\"80%\" bgcolor=\"#E6E6E6\">
                           <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">
                           <tr><td width=\"3%\"></td><td width=\"94%\" valign=\"top\">$text</td><td width=\"3%\"></td></tr></table>
                           </td><td width=\"10%\"></td></tr>
                           <tr><td width=\"10%\"></td><td width=\"80%\" bgcolor=\"#000000\">
                           <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">
                           <tr><td height=\"1\"></td></tr></table>
                           </td><td width=\"10%\"></td></tr>
                           <tr><td width=\"10%\"></td><td width=\"80%\" bgcolor=\"#E6E6E6\">
                           <table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">
                           <tr><td width=\"3%\"></td><td width=\"94%\" align=\"right\"><a href=\"http://$homepage\" target=\"_blank\">$homepage</td><td width=\"3%\"></td></tr>
                           <tr height=\"15\" valign=\"middle\"><td colspan=\"3\"><hr size=\"1\"></td></tr>
                           </table>
                           </td><td width=\"10%\"></td></tr>
                           <tr><td colspan=\"3\" height=\"15\" width=\"80%\"></td></tr>";
                 fputs($gbuch, stripslashes($ausgabe));
                 fputs($gbuch, $str_gbuch);
                 echo'<table border="0" cellspacing="0" cellpadding="0" width="100%">
                      <tr>
                      <td height="30"></td>
                      </tr>
                      <tr>
                      <td><table border="0" cellspacing="0" cellpadding="0" width="100%">
                    <tr><td width="10%"></td>';
                 echo'<td width="80%">Ihr Eintrag wurde ins G&auml;stebuch geschrieben<hr>';
                 echo"<a href=\"gaeste.html\" target=\"main\">weiteren Eintrag hinzuf&uuml;gen</a> | <a href=\"gbuchlesen.php?lesen=true\" target=\"main\">Eintr&auml;ge lesen</a></td>";
                 echo'<td width="10%"></td></tr></table></td></tr></table>';
             }
         }
    }
    ?>
    ...

    Kann mir jemand einen Tipp geben, woran es liegen könnte?!

    Vielen Dank u. glg
    Zuletzt geändert von propaganders; 23.04.2007, 10:20.

  • #2
    tja, was funktioniert denn nicht mehr? genauer fehlerbeschreibung. steht glaub ich auch in der foren-regeln.

    Kommentar


    • #3
      1. Regel lesen http://www.php-resource.de/forum/sho...threadid=50454 und befolgen

      2. suche mal nach register_globals, das wird dein Problem lösen

      Kommentar


      • #4
        Sorry, hab ich vergessen:

        Wenn ich nur die bestehenden Einträge lesen möchte oder einen neuen Eintrag hinzufüge, wird immer Folgendes ausgegeben:


        '; include("gbuch.txt"); echo'

        Eintrag hinzufügen
        '; } else { if(($name == FALSE) or ($text == False)) { echo'
        '; echo''; echo'
        Fehler!!! Die Felder Name, E-Mail und Text müssen ausgefüllt werden zurück
        '; } elseif((preg_match('/[<>]/', $name)) or (preg_match('[<>]',$email)) or (preg_match('/[<>]/', $homepage)) or (preg_match('/[<>]/', $text))) { echo'
        '; echo''; echo'
        Fehler!!! Diese Zeichen sind nicht erlaubt zurück
        '; } elseif(!preg_match('/^[.a-zA-Z0-9_-]+@([.a-zA-Z0-9_-]+)\.[a-zA-Z0-9_-]{2,4}$/',$email)) { echo'
        '; echo''; echo'
        Fehler!!! Mit der Email Adresse scheint etwas nicht in Ordnung zu sein zurück
        '; } else { $gbuch = fopen($zaehler, "w"); if($gbuch) { $homepage=preg_replace('/http\:\/\//','',$homepage); $text=preg_replace('/\n/','
        ',$text); $ausgabe="

        $datum
        $name $email




        $text




        $homepage

        '; echo'"; echo'
        Ihr Eintrag wurde ins Gästebuch geschrieben'; echo"weiteren Eintrag hinzufügen | Einträge lesen

        Kommentar


        • #5
          Zum letzten Mal
          Original geschrieben von asp2php
          1. Regel lesen http://www.php-resource.de/forum/sho...threadid=50454 und befolgen
          bitte befolgen, sonst darfst du woanders nach der Lösung suchen

          Kommentar


          • #6
            Sorry, hab deinen Beitrag erst gelesen, nachdem ich den Fehler angegeben hab!

            glg

            Kommentar


            • #7
              ja und ... ? editierst du mal deine Beiträge bitte!

              Kommentar


              • #8
                Original geschrieben von propaganders
                Wenn ich nur die bestehenden Einträge lesen möchte oder einen neuen Eintrag hinzufüge, wird immer Folgendes ausgegeben: [...]
                Na und, wonach sieht das wohl aus ...?
                Als ob der PHP-Code nicht geparst würde.
                Über short_open_tags informiert?


                Zum
                PHP-Code:
                switch ($tagname) { ... } 
                -Konstrukt:

                Aua.

                Du hast vielleicht von Arrays gehört?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  GELÖST

                  So, hab das Problem mittlerweile selbst in den Griff bekommen. Hauptproblem war, das register_globals auf OFF sind!

                  Danke an alle jene, die mir mit ihren Tipps weitergeholfen haben!!!

                  glg

                  Kommentar


                  • #10
                    "register_globals = off": ich rate die lieber es dabei zu lassen!

                    Kommentar


                    • #11
                      Hab ich natürlich auf OFF belassen u. nur einige Korrekturen an meinem Script vorgenommen!

                      glg

                      Kommentar

                      Lädt...
                      X