Non mi chiamo proibid
Comunque, hai assegnato a $_SESSION["entrato"] il valore true al primo accesso dell utente?
Altrimenti ci credo che non funziona...
Non mi chiamo proibid
Comunque, hai assegnato a $_SESSION["entrato"] il valore true al primo accesso dell utente?
Altrimenti ci credo che non funziona...
scusa <b>probid</b> comunque ho anche reso TRUE la var $_SESSION['entrato'] ma non funziona. qualcuno ha altre soluzioni?
posta il codice che usi, probabilmente hai sbagliato qualcosa li ciaooo.
Ecco il codice per intero
AIUTOOOOOCodice:<?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; } ?>
Ultima modifica di picciamico : 11-09-2007 alle ore 10.54.33
mettilo tra i tag php qua sul forum, senno non si capisce nulla :S
metti i tag php, cmq guardandolo al volo prova a cambiare:
if($_SESSION["entrato"]==false)
con:
if(!isset($_SESSION['entrato']))
...
ciaooo
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); :
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.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 />";
}
}
?>
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
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
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 ?
Assolutamente errato.e r+ va senza virgolette
Una ricerca no?fseek , fputs , flock...queste funzioni io non lo mai sentite , mi potrete spiegare a che servono ?
http://www.php.net/
E allora?dentro la funzione fopen hai messo una variabile che gia contiene le virgolette
@picciamico: al post #39 stavo solo rispondendo a NetSkin.
Comunque prova così:
Ciao!Codice PHP:
if (file_exists($text_file))
{
$fp = fopen($text_file, "w+");
$visite = file_get_contents($text_file);
fputs($fp, ($visite+1));
fclose($fp);
}