Pagina 2 di 2 PrimoPrimo 12
Visualizzazione risultati 31 fino 42 di 42

Discussione: Editare file di testo con php

  1. #31
    Ospite Guest

    Predefinito

    Non mi chiamo proibid
    Comunque, hai assegnato a $_SESSION["entrato"] il valore true al primo accesso dell utente?
    Altrimenti ci credo che non funziona...

  2. #32
    Guest

    Predefinito re

    scusa <b>probid</b> comunque ho anche reso TRUE la var $_SESSION['entrato'] ma non funziona. qualcuno ha altre soluzioni?

  3. #33
    Guest

    Predefinito

    posta il codice che usi, probabilmente hai sbagliato qualcosa li ciaooo.

  4. #34
    Guest

    Predefinito codice

    Ecco il codice per intero

    Codice:
    <?php
        session_start();
        if($_SESSION["entrato"]==false)
        {
          $_SESSION["entrato"]=true;
    
          if($p==1)
          {
            $k= ".";
          }
          if($p==2)
          {
            $k= "..";
          }
          if($p==3)
          {
            $k= "../..";
          }
    
          $text_file = "$k/altro/contatore.txt";
          $dir_numeri = "$k/altro/num/";
          $min_num = 8;
    
          if (file_exists($text_file))
          {
          $fp = fopen("$text_file", "r+");
          flock($fp, 1);
          $visite = fgets($fp, 4096);
          $visite += 1;
          fseek($fp,0);
          fputs($fp, $visite);
          flock($fp, 3);
          fclose($fp);
          }
          else
          {
            echo "Errore nell'apertura del file <br />";
            exit;
          }
    ?>
    AIUTOOOOO
    Ultima modifica di picciamico : 11-09-2007 alle ore 10.54.33

  5. #35
    Guest

    Predefinito

    mettilo tra i tag php qua sul forum, senno non si capisce nulla :S

  6. #36
    Guest

    Predefinito

    metti i tag php, cmq guardandolo al volo prova a cambiare:
    if($_SESSION["entrato"]==false)
    con:
    if(!isset($_SESSION['entrato']))
    ...
    ciaooo

  7. #37
    Ospite Guest

    Predefinito

    Codice PHP:
    <?php
    session_start
    ();
    if(!
    $_SESSION["entrato"])
    {
    $_SESSION["entrato"]=true;

    if(
    $p==1)
    {
    $k= ".";
    }
    if(
    $p==2)
    {
    $k= "..";
    }
    if(
    $p==3)
    {
    $k= "../..";
    }

    $text_file = $k."/altro/contatore.txt";
    $dir_numeri = $k."/altro/num/";
    $min_num = 8;

    if (
    file_exists($text_file))
    {
    $fp = fopen("$text_file", "r+");
    flock($fp, 1);
    $visite = fgets($fp, 4096);
    $visite += 1;
    fseek($fp,0);
    fputs($fp, $visite);
    flock($fp, 3);
    fclose($fp);
    }
    else
    {
    echo
    "Errore nell'apertura del file <br />";
    }}
    ?>

  8. #38
    Guest

    Predefinito

    Citazione Originalmente inviato da probid Visualizza messaggio
    Codice PHP:
    <?php
    session_start
    ();
    if(!
    $_SESSION["entrato"])
    {
    $_SESSION["entrato"]=true;

    if(
    $p==1)
    {
    $k= ".";
    }
    if(
    $p==2)
    {
    $k= "..";
    }
    if(
    $p==3)
    {
    $k= "../..";
    }

    $text_file = $k."/altro/contatore.txt";
    $dir_numeri = $k."/altro/num/";
    $min_num = 8;

    if (
    file_exists($text_file))
    {
    $fp = fopen("$text_file", "r+");
    flock($fp, 1);
    $visite = fgets($fp, 4096);
    $visite += 1;
    fseek($fp,0);
    fputs($fp, $visite);
    flock($fp, 3);
    fclose($fp);
    }
    else
    {
    echo
    "Errore nell'apertura del file <br />";
    }}
    ?>
    io userei questo, in modo da non dover richiamare error_reporting(0); :
    Codice PHP:
    <?php
    session_start
    ();
    if(!isset(
    $_SESSION["entrato"]))
    {
    $_SESSION["entrato"]=true;

    if(
    $p==1)
    {
    $k= ".";
    }
    if(
    $p==2)
    {
    $k= "..";
    }
    if(
    $p==3)
    {
    $k= "../..";
    }

    $text_file = $k."/altro/contatore.txt";
    $dir_numeri = $k."/altro/num/";
    $min_num = 8;

    if (
    file_exists($text_file))
    {
    $fp = fopen("$text_file", "r+");
    flock($fp, 1);
    $visite = fgets($fp, 4096);
    $visite += 1;
    fseek($fp,0);
    fputs($fp, $visite);
    flock($fp, 3);
    fclose($fp);
    }
    else
    {
    echo
    "Errore nell'apertura del file <br />";
    }
    }
    ?>
    in poche parole ho cambiato la terza riga del php aggiungendo la funzione isset() che verifica se la variabile(in questo caso $_SESSION["entrato"] ) e restituisce true o false.
    Meglio non usare errori

  9. #39
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da NetSkin Visualizza messaggio
    io userei questo, in modo da non dover richiamare error_reporting(0); :
    in poche parole ho cambiato la terza riga del php aggiungendo la funzione isset() che verifica se la variabile(in questo caso $_SESSION["entrato"] ) e restituisce true o false.
    Meglio non usare errori
    Non ho capito il discorso degli errori e dell'error_reporting().
    Il ! non restituisce nessun errore ma provvede soltanto a verificare una condizione a svolgere le operazioni richieste a seconda del risultato.
    Rappresenta una negazione davanti al nome di una variabile e serve a verificare che il suo valore sia FALSE oppure che non sia impostata.
    Invece isset() verifica che la variabile sia impostata e abbia un valore, e non si interessa se questo sia TRUE o FALSE.
    Nel contesto di questo script l'uso di entrambe le "funzioni" ("" perchè il ! è un operatore logico,isset() è una funzione) non varia l'esecuzione dello script, ma in un altro caso se impostassi $v=TRUE, if(!$v) restituirebbe FALSE e isset($v) restituirebbe TRUE.
    Quindi c'è differenza

  10. #40
    Guest

    Predefinito re

    scusa probid, ma secondo me non fa differenza fra
    if($_SESSION['entrato'] == false)
    e
    if(!$_SESSION['entrato'])

    cmq aspetta ke provo...

    EDIT:
    come ti dicevo, è la stessa cosa... il contatore aumenta ad ogni cambiamento di pagina
    Ultima modifica di picciamico : 09-09-2007 alle ore 12.03.28

  11. #41
    Guest

    Predefinito

    dentro la funzione fopen hai messo una variabile che gia contiene le virgolette , e r+ va senza virgolette , sostituisci la if cosi
    Codice PHP:
    if (file_exists($text_file))
    {
    $fp = fopen($text_file, a+);
    flock($fp, 1);
    $visite = fgets($fp, 4096);
    $visite += 1;
    fseek($fp,0);
    fputs($fp, $visite);
    flock($fp, 3);
    fclose($fp);
    }

    fseek
    , fputs , flock, fgets...queste funzioni io non lo mai sentite , mi potrete spiegare a che servono ?

  12. #42
    Ospite Guest

    Predefinito

    e r+ va senza virgolette
    Assolutamente errato.
    fseek , fputs , flock...queste funzioni io non lo mai sentite , mi potrete spiegare a che servono ?
    Una ricerca no?
    http://www.php.net/

    dentro la funzione fopen hai messo una variabile che gia contiene le virgolette
    E allora?


    @picciamico: al post #39 stavo solo rispondendo a NetSkin.

    Comunque prova così:

    Codice PHP:
    if (file_exists($text_file))
    {
    $fp = fopen($text_file, "w+");
    $visite = file_get_contents($text_file);
    fputs($fp, ($visite+1));
    fclose($fp);
    }
    Ciao!

Pagina 2 di 2 PrimoPrimo 12

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •