Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Guestbook, con FIle testo

    Saggi, il php parla da solo

    Leggendo lo script capirete anche il problema

    Codice PHP:
    $nome=$_POST["nome"];
    $contenuto=$_POST["testo"];
    $data = (date("d-m-y"));
    $ora = (date("G:i"));
    $nome_1 true;
    $con_1 true;


     if (!
    $nome){
                 echo 
    "<font color=\"red\">[b]Inserisci il tuo nome [/b]</font>
                       "
    $nome_1 false;
                }
     if (!
    $contenuto){
                 echo 
    "<font color=\"red\">[b]Inserisci il tuo contenuto [/b]</font>
                       "
    $con_1 false;
                }
                
      if (
    $nome_1 == true and $con_1 true){

            
    $file_name="Guest.txt";
            
    $complete_path=$file_name;
            
    $var=fopen($complete_path,"x+");//Apriamo (se non esiste creiamolo) un file per mettere dentro tutti i messaggi di un guestbook 
            
    $fp fopen($complete_path,"x+"); 
              
    $lung_file fread($fp999999);//e leggiamo tutto
            
    fclose($fp); 
            
            
    unlink($file_name);//Elminiamo il file
            
            
    $file_name="Guest.txt";
            
    $complete_path=$file_name;
            
    $var=fopen($complete_path,"x+");//per poi ricrearlo
            
    $fp fopen($complete_path,"x+"); //con il nuovo contenuto [_->
              
    fwrite($var,"$lung_file".$lung_file."$lung_file
    <font color=\"black\" face=\"Arial Narrow\">Ora: </font>"
    .$ora."<font color=\"black\" face=\"Arial Narrow\">Data: </font>".$data."
    <font color=\"red\" face=\"Comic Sans MS\">Nik: </font>"
    .$nome."
    <font color=\"red\" face=\"Comic Sans MS\"> Testo: </font>"
    .$contenuto."
    "
    );
            
    fclose($fp); //chiudiamo
            
    }

            
    $file_name="Guest.txt";
            
    $complete_path=$file_name;
            
    $var=fopen($complete_path,"r+");
            
    $fp fopen($complete_path,"r+"); //lo riapriamo
              
    $lung_file1 fread($fp999999);//lo leggiamo
            
    fclose($fp); 
            echo 
    "$lung_file1";//lo stampiamo!.

            //Tutto ciò funziona, ma in modo sbagliato: Semplicemente che sovrascrive il messaggio che uno metto, ad esempio, 
            //Se scrivo per la prima volta nome: asd Testo: asd, lo scrive, ma se vado un'altra volta 
            //scrivendo nome dsa, testo dsa, sovrascrive tutto ciò al messaggio di prima, ma non riesco a capire il perchè!!!
            
    /////////////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////FINE////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////// 

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    143
    Ma perché cancelli il file Guest.txt per poi ricrearlo?
    E' chiaro che poi ti cancella il primo contenuto e ti mostra solo il secondo.

  3. #3
    Cambiato: (Ma nulla da fare, il problema cambia, non aggiunge quel messaggio)

    Codice PHP:
    $nome=$_POST["nome"];
    $contenuto=$_POST["testo"];
    $data = (date("d-m-y"));
    $ora = (date("G:i"));
    $nome_1 true;
    $con_1 true;


     if (!
    $nome){
                 echo 
    "<font color=\"red\">[b]Inserisci il tuo nome [/b]</font>
                       "
    $nome_1 false;
                }
     if (!
    $contenuto){
                 echo 
    "<font color=\"red\">[b]Inserisci il tuo contenuto [/b]</font>
                       "
    $con_1 false;
                }
                
      if (
    $nome_1 == true and $con_1 true){

            
    $file_name="Guest.txt";
            
    $complete_path=$file_name;
            
    $var=fopen($complete_path,"x+");//Apriamo (se non esiste creiamolo) un file per mettere dentro tutti i messaggi di un guestbook 
            
    $fp fopen($complete_path,"x+"); 
              
    $lung_file fread($fp99999);//e leggiamo tutto
            
    fclose($fp);
            
            
    $n strlen($lung_file);
            
            
    $file_name="Guest.txt";
            
    $complete_path=$file_name;
            
    $var=fopen($complete_path,"x+");//Apriamo (se non esiste creiamolo) un file per mettere dentro tutti i messaggi di un guestbook 
            
    $fp fopen($complete_path,"x+"); 
            
    fseek($fp$nSEEK_SET); //Mi posiziono al "N" carattere del file
              
    fwrite($var,"
    <font color=\"black\" face=\"Arial Narrow\">Ora: </font>"
    .$ora."<font color=\"black\" face=\"Arial Narrow\">Data: </font>".$data."
    <font color=\"red\" face=\"Comic Sans MS\">Nik: </font>"
    .$nome."
    <font color=\"red\" face=\"Comic Sans MS\"> Testo: </font>"
    .$contenuto."
    "
    );
            
    fclose($fp);
            }

            
    $file_name="Guest.txt";
            
    $complete_path=$file_name;
            
    $var=fopen($complete_path,"r+");
            
    $fp fopen($complete_path,"r+"); //lo riapriamo
              
    $lung_file1 fread($fp99999);//lo leggiamo
            
    fclose($fp); 
            echo 
    "$lung_file1";//lo stampiamo

            //Tutto ciò funziona, ma in modo sbagliato: Semplicemente che sovrascrive il messaggio che uno metto, ad esempio, 
            //Se scrivo per la prima volta nome: asd Testo: asd, lo scrive, ma se vado un'altra volta 
            //scrivendo nome dsa, testo dsa, sovrascrive tutto ciò al messaggio di prima, ma non riesco a capire il perchè!!!
            
    /////////////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////FINE////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////// 

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    143
    $var=fopen($complete_path,"a+");
    append

  5. #5
    Grazieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeee
    P.S.
    a+ che funzionalità ha in più, che x+ non ha?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    143
    http://ar2.php.net/fopen
    a sta per append, il puntatore si posiziona alla fine del file e scrive, dunque tutto quello che c'é giá non viene cancellato.

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.