Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problema con guestbook

  1. #1

    problema con guestbook

    Ciao ho scaricato uno script free per realizzare un guestbook dal sito freephp.html.it

    lo script funziona bene, ho inserito il codice sottoriportato in una tabella del lay-out del mio sito, e non crea nessun problema, però compilando il form per l'inserimento del messaggio se si sbaglia a compilare i campi, una volta premuto il tasto "submit" viene visualizzato un errore (Some Fields are Still Blank! - Invalid Email Address!) che indica di compilare correttamente tutti i campi, e dopo il testo dell'errore non mi visualizza il seguito della pagina...

    qualcuno gentilmente può darmi una mano per risolvere questo problema??? GRAZIE

    alessia

    Codice PHP:
    <?

    /*
    ___________________________________________________

    project : asn guestbook version 1.5
    file    : guestbook.php
    author    : asn - [email]webmaster@tourdebali.com[/email]
    date    : 21st may 2002
    note    : copyright 2002 by asn
    ___________________________________________________

    */

    include("config.php");
    include(
    "library.php");

    switch (
    $act) {

    //======================================================================================================
    case "":

    include(
    "form.html");

    $query mysql_query("SELECT * FROM $tab ORDER BY id ASC");
    $all_record mysql_num_rows($query);
    if (
    $page == ""$page 1;

    // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    if ($all_record <= $itemperpage) {$pagenumber 1;} else
        {
        if ((
    $all_record $itemperpage) == 0) {$pagenumber intval($all_record/$itemperpage);} else
        {
    $pagenumber intval($all_record/$itemperpage) + 1;}
        }

        if (
    $pagenumber == 1) {
        
    $start 1;
        
    $end $all_record;
        
    $looping $all_record; } else {

        if ((
    $all_record $itemperpage) == 0) {
        
    $sisa $itemperpage;
        } else {
        
    $sisa $all_record $itemperpage; }
        
            if (
    $page == $pagenumber) {

            
    $start 1;
            
    $end $sisa;
            
    $looping $sisa; } else {

            
    $end = (($pagenumber $page) * $itemperpage) + $sisa
            
    $start $end $itemperpage 1;
            
    $looping $itemperpage;}
                    }

    // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    navigation($pagenumber$page);

    for (
    $i=1$i<=$looping$i++)    {
       
    $counter $end $i;
       
    $seekrecord mysql_data_seek($query$counter);
       
    $data mysql_fetch_row($query);
       
    $datenow date("d M Y"$data[0]);
       
    $nomor $counter 1;

       echo 
    "
            [img]image/space-orange.gif[/img]<table width='100%' border='0' cellspacing='0' cellpadding='5'>
              <tr bgcolor='#e0e0e0'> 
                <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>[b][
    $nomor][/b] 
                  
    $datenow$data[1] [" substr($data[4],0,1) . "]";
       echo 
    "
                  wrote:</font></td>
                <td align='right'>"
    ;

       if (
    $data[2] <> "") echo " [email='$data[2]'][img]image/sym_email.gif[/img][/email]";
       if (
    $data[3] <> "") echo " [url='$data[3]'][img]image/sym_www.gif[/img][/url]";

       if (
    $smile == 1$data[5] = smile($data[5]);
       if (
    $auto_url == 1$data[5] = auto_url($data[5]);

       if (
    $smile == 1$data[6] = smile($data[6]);
       if (
    $auto_url == 1$data[6] = auto_url($data[6]);
       
       echo 
    "
              </tr>
              <tr>
                <td colspan='2'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $data[5]</font>

                  "
    ;

           if (
    $data[6] <> "") {
               echo 
    "<font size='1' face='Verdana, Arial, Helvetica, sans-serif'>

                  <font color='#FF0000'>
    $reply_subject</font> <font color='#3333CC'>$data[6]</font></font>";
           }

       echo 
    "              
                  </td>
              </tr>
            </table>

       "
    ;        
    }

    navigation($pagenumber$page);

    break;

    //======================================================================================================
    case "doadd":
    $vdate time();

    if ((
    $vname =="") or ($vemail =="") or ($vcomment =="")) erro("Some Fields are Still Blank!");

    if (!
    ereg("([[:alnum:]\.\-]+)(\@[[:alnum:]\.\-]+\.+)"$vemail)) erro("Invalid Email Address!");

    if (
    trim($vwebsite) == "http://"$vwebsite "";


    $vname str_replace("<","",$vname);
    $vname str_replace(">","",$vname);

    $vemail str_replace("<","",$vemail);
    $vemail str_replace(">","",$vemail);

    $vwebsite str_replace("<","",$vwebsite);
    $vwebsite str_replace(">","",$vwebsite);

    $vgender str_replace("<","",$vgender);
    $vgender str_replace(">","",$vgender);

    $test_comment explode(" ",$vcomment);
    $jmltest count($test_comment);

    for (
    $t=0$t<$jmltest$t++) {
       if (
    strlen(trim($test_comment[$t])) > 60) {
          
    erro("Maximum character for one word is 60!");
       }
    }

    $vcomment str_replace("<","&lt;",$vcomment);
    $vcomment str_replace(">","&gt;",$vcomment);
    $vcomment str_replace("\n","
    "
    ,$vcomment);

    $doit mysql_query("INSERT INTO $tab VALUES('$vdate', '$vname', '$vemail', '$vwebsite', '$vgender', '$vcomment', '', ' ')");

    echo 
    "
    <table width='100%' border='0' cellspacing='0' cellpadding='0'>
            <tr> 
              <td align='center'> 
                



    <font size='3' face='Verdana, Arial, sans-serif' color='#ff0000'>
              Your entry has been saved!
              </font></p> 
                

    <font size='1' face='Verdana, Arial, sans-serif'>To see what you wrote, [url='guestbook.php']click here[/url] 
            
    We will write a respond to your entry in couple of days
    </font></p>
                

    <font size='1' face='Verdana, Arial, sans-serif'>thanks...</font></p>


              </td>
            </tr>
          </table>
    "
    ;      

    if (
    $notify == 1) {
       
    $header "Content-type: text/html\nFrom: " $mail_from ;
       
    mail($admin_email$mail_subject$vcomment$header);
    }

    }

    ?>

  2. #2
    probabilmente la funzione " erro " che sarà nella libreria terminerà con un exit o un die
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3

    grazie boomboom

    Grazie boomboom

    qui sotto c'e' il file library.php... dosa dovrei correggere per evitare l'inconveniente che la pagina non termini il suo completamento dopo il messaggio di errore?

    grazie infinite
    alessia


    Codice PHP:
    <?php

    /*
    ___________________________________________________

    project : asn guestbook version 1.5
    file    : library.php
    author    : asn - [email]webmaster@tourdebali.com[/email]
    date    : 21st may 2002
    note    : copyright 2002 by asn
    ___________________________________________________

    */

    mysql_connect($host$user$pass) or die("Error - Connection to database is not established !");
    @
    mysql_select_db($db) or die("Error - Can't open the database !");

    function 
    judul($text) {
       echo 
    "<center><font face='verdana, arial, helvetica, sans-serif' size='3' color='$cc0000'>[b]$text[/b]</font><hr size='1' noshade></center>";
    }

    function 
    pengumuman($text) {
       echo 
    "<center>

    <font face='verdana, arial, helvetica, sans-serif' size='3' color='
    $cc0000'>[b]$text[/b]</font></center>";
    }

    function 
    navigation($pagenumber$page) {
    echo 
    "<table width='100%' border='0' cellspacing='0' cellpadding='5'>
              <tr>
                <td><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>Page : "
    ;

    $udah_prev 0;
    $udah_next 0;

    if (
    $pagenumber == 1) { 
       echo 
    "<font color='#ff0000'>1</font>";
       } else {
       if ((
    $udah_prev == 0) and (($page-1) >0)) {
          
    $hal $page 1;
          
    $udah_prev 1;
          echo 
    " [url='guestbook.php?page=$hal']<< PREV[/url] ";
       }
       for (
    $i=1$i <= $pagenumber$i++) {
          if (
    $i == $page) { 
             echo 
    " <font color='#ff0000'>$page</font> "
         } else { 
         echo 
    " [url='guestbook.php?page=$i']$i[/url] "
          }
       }
       if ((
    $udah_next == 0) and (($page 1) <= $pagenumber)) {
          
    $hal $page 1;
          
    $udah_next 1;
          echo 
    " [url='guestbook.php?page=$hal']NEXT >>[/url] ";
       }


    echo 
    "</font>
                </td>
              </tr>
            </table>
    "
    ;
    }


    function 
    check_email($email) {
       if(!
    ereg("([[:alnum:]\.\-]+)(\@[[:alnum:]\.\-]+\.+)"$email)) {
          
    erro("Invalid Email Address");
          exit; 
       }
    }

    function 
    erro($text) {
       echo 
    "<center><font face='verdana, arial, sans-serif'>



               <font size='4'>[b]
    $text[/b]</font>


               <font size='2'>[url='javascript:history.back()']back[/url]</font>
             </center>"
    ;
    exit;
    }

    function 
    guestbook_nav() {   
    echo 
    "
        <center><table width='600' border='0' cellspacing='0' cellpadding='0' height='25'>
          <tr align='right'> 
            <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#000000'> 
              [url='gbadmin.php?act=part']browse new entry only[/url] | [url='gbadmin.php?act=all']browse all[/url]
          </font></td>
          </tr>
        </table></center>
    "
    ;
    }

    function 
    brow($tab) {
       echo 
    "
         <form method='post' action='gbadmin.php?act=del'>
         <center><table width='600' border='0' cellspacing='1' cellpadding='5' bgcolor='#dddddd'>
         <tr> 
          <td align='center'></td>
          <td align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#CC0000'>Date</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#CC0000'>Name</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#CC0000'>Gender</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#CC0000'>Email</font></td>
          <td></td>
        </tr>
       "
    ;

       
    $query mysql_query("SELECT * FROM $tab WHERE reply='' ORDER BY id DESC");
       
    $all mysql_num_rows($query); 
       for (
    $i=$i<=($all 1) ; $i++) {
         
    $data mysql_fetch_row($query);
         
    $dt date("d M Y"$data[0]);
         echo 
    "
         <tr bgcolor='#FFFFFF'> 
          <td align='center'><input type=checkbox name=check[
    $i]><input type=hidden name=id[$i] value=$data[7]></td>
          <td align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $dt</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $data[1]</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $data[4]</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $data[2]</font></td>
          <td align='center'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>[url='gbadmin.php?act=jawab&id=
    $data[7]']reply[/url]</font></td>
        </tr>
         "
    ;
         }
       echo 
    "
       </table>
       

       <table width='600' border='0' cellspacing='0' cellpadding='0'>
        <tr>
          <td>
            <input type='submit' value='Delete Checked Record'>
          </td>
          <td align='right' valign='top'>
            <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>total new entry : <font color='#ff0000'>
    $all</font></font>
          </td>
        </tr>
      </table>
      </center>
    </form>
       "
    ;
    }

    function 
    brow_all($tab) {
       echo 
    "
         <form method='post' action='gbadmin.php?act=delall'>
         <center><table width='600' border='0' cellspacing='1' cellpadding='5' bgcolor='#dddddd'>
         <tr> 
          <td align='center'></td>
          <td align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#CC0000'>Date</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#CC0000'>Name</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#CC0000'>Gender</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#CC0000'>Status</font></td>
          <td></td>
          <td></td>
        </tr>
       "
    ;

       
    $query mysql_query("SELECT * FROM $tab ORDER BY id DESC");
       
    $all mysql_num_rows($query); 
       for (
    $i=$i<=($all 1) ; $i++) {
         
    $data mysql_fetch_row($query);
         
    $dt date("d M Y"$data[0]);
         if (
    $data[6] == ""$status "new"; else $status "replied";
         echo 
    "
         <tr bgcolor='#FFFFFF'> 
          <td align='center'><input type=checkbox name=check[
    $i]><input type=hidden name=id[$i] value=$data[7]></td>
          <td align='center'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $dt</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $data[1]</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $data[4]</font></td>
          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>
    $status</font></td>
          <td align='center'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>[url='gbadmin.php?act=detil&id=
    $data[7]']detail[/url]</font></td>
          <td align='center'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"
    ;

             if (
    $data[6] == "") echo "[url='gbadmin.php?act=jawab&id=$data[7]']reply[/url]";
         
    echo 
    "         
         </font></td>
        </tr>
         "
    ;
         }
       echo 
    "
       </table>
       

       <table width='600' border='0' cellspacing='0' cellpadding='0'>
        <tr>
          <td>
            <input type='submit' value='Delete Checked Record'>
          </td>
          <td align='right' valign='top'>
            <font size='1' face='Verdana, Arial, Helvetica, sans-serif'>total entry : <font color='#ff0000'>
    $all</font></font>
          </td>
        </tr>
      </table>
      </center>
    </form>
       "
    ;
    }


    function 
    smile($message) {
       global 
    $url_smiles;
       
       
    $message ' ' $message;
       
       if (
    $getsmiles mysql_query("SELECT *, length(code) as length FROM asnsmile ORDER BY length DESC"))
       {
          while (
    $smiles mysql_fetch_array($getsmiles)) 
          {
                
    $smile_code preg_quote($smiles[code]);
                
    $smile_code str_replace('/''//'$smile_code);
                
    $message preg_replace("/([\n\\ \\.])$smile_code/si"'\1[img]' $url_smiles '/' $smiles[url] . '[/img]'$message);
          }
       }
       
       
    $message substr($message1);
       return(
    $message);
    }

    function 
    auto_url($text) {
        
        
    $ret " " $text;

        
    $ret preg_replace("#([\n ])([a-z]+?)://([^, \n\r]+)#i""\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>"$ret);

        
    $ret preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[^, \n\r]*)?)#i""\\1<a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">[url]www.\\2.\\3\\4[/url]</a>"$ret);
        
        
    $ret preg_replace("#([\n ])([a-z0-9\-_.]+?)@([^, \n\r]+)#i""\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>"$ret);
        
        
    $ret substr($ret1);
        
        return(
    $ret);
    }

    ?>

  4. #4

    ...

    Ho scoperto le funzioni che gestiscono gli errori

    Codice PHP:
    function check_email($email) {
       if(!
    ereg("([[:alnum:].-]+)(@[[:alnum:].-]+.+)"$email)) {
          
    erro("Invalid Email Address");
          exit; 
       }
    }

    function 
    erro($text) {
       echo 
    "<center><font face='verdana, arial, sans-serif'>



               <font size='4'>[b]
    $text[/b]</font>


               <font size='2'>[url='java script:history.back()']back[/url]</font>
             </center>"
    ;
    exit;

    io ho provato a togliere l'istruzione EXIT, ma compilando il form se commetto qualche errore, adesso mi visualizza tutta la pagina...ma mi viusalizza anche tutti i messaggi di errore, compreso quello che il messaggio è stato inserito

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    286
    crei una funzione tipo:
    Codice PHP:
    function footer(){ 
    echo 
    '</body></html>';
     } 
    e la richiami prima di exit!!

    Nella funzione ci metti i tag html che ti completano la grafica della pagina!!

    ciao

  7. #7

    grazie!!!

    Grazie beipink

    oggi pom faccio una prova!!

    qual'e' il codice per richiamare la funzione che mi hai suggerito e metterla prima dell'istruzione exit??

    grazie
    alessia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.