Salvataggio username (era: Problema PHP 5.3.6)

Ewan

Nuovo Utente
2 Ott 2010
15
0
0
Buongiorno, oggi vi proporrò una strana nonché curiosa cosa che mi accade con PHP 5, credetemi non so più cosa fare.. Premetto, sto lavorando su un sito nel Hosting Altervista il problema però è nel LOGIN e nel riconoscimento dell’utente nell’area Privata con PHP 5 poichè con PHP 4 funziona.

Dunque iniziamo, io ho la pagina LOGIN (login.php) seguente:

PHP:
<form action="main.php" method="post">
    <table cellpadding="3" cellspacing="3" width="200">
      <tr onmouseover="this.className = 'hlt';" onmouseout="this.className = 'hlu';" class="hlu"> 
        <td><div align="center">Nome:</div></td>
        <td><div align="left"> 
            <input type="text" name="pg" id="pg" />
          </div></td>
      </tr>
      <tr onmouseover="this.className = 'hlt';" onmouseout="this.className = 'hlu';" class="hlu"> 
        <td><div align="center">Pass:</div></td>
        <td><div align="left"> 
            <input type="password" name="pass" id="pass" max="32" />


Poi la pagina MAIN (main.php):

PHP:
require_once("percorso mio per recupera i dati di connessione al DB"); //connessione al db

$giorno=date('j');
$mese=date('M');
if($mese=="Jan"){$meseOK="Gennaio";}
if($mese=="Feb"){$meseOK="Febbraio";}
if($mese=="Mar"){$meseOK="Marzo";}
if($mese=="Apr"){$meseOK="Aprile";}
if($mese=="May"){$meseOK="Maggio";}
if($mese=="Jun"){$meseOK="Giugno";}
if($mese=="Jul"){$meseOK="Luglio";}
if($mese=="Aug"){$meseOK="Agosto";}
if($mese=="Sep"){$meseOK="Settembre";}
if($mese=="Oct"){$meseOK="Ottobre";}
if($mese=="Nov"){$meseOK="Novembre";}
if($mese=="Dec"){$meseOK="Dicembre";}
$ora=date('H:i');
$anno=date('Y');
$data="$giorno"." $meseOK"." $anno"." $ora";
$data2="$giorno"." $meseOK"." $anno"." $ora";//Calcolo la data testuale

$control1=mysql_query("SELECT * FROM user WHERE nome='".$pg."' AND password='".$pass."'");//selezione utente da db

$pgnum=mysql_num_rows($control1);
$control=mysql_fetch_array($control1);
$ip=$_SERVER["REMOTE_ADDR"]; //recupero l'ip

if($pgnum!="1"){ //controllo se il pg esiste
header("Location: php_errori/utente_inesistente.php");
}else{
if($control[ban]=="1"){
header("Location: php_errori/utente_bannato.php");
}else{
if ($control[connesso]=="1"){
header("Location: php_errori/utente_collegato.php");	
}else{
if(($ip==$control[ip]) OR ($control[connesso]=="0")){
	
session_start();
session_register("nome della sessione");

$_SESSION['nome'] = $control[nome];

$user = mysql_real_escape_string($_POST['pg']);
$user = htmlentities ($_POST['pg']);
$pass = mysql_real_escape_string($_POST['pass']);
$pass = htmlentities ($_POST['pass']);

$user=$_SESSION['nome'];
$now=time();//recupero time

$insert=mysql_query("INSERT INTO accessi (nome,data,data2,ip,stato) VALUES ('".$user."','".$data."',NOW(),'".$ip."','entrato')");//inserisci accesso

$update=mysql_query("UPDATE user SET time='".$now."', luogo='Mappa', luogo_a='Mappa', ullacc='".$data2."', connesso='1', ip='".$ip."', ultimaexp = '".$now."' WHERE nome='".$user."'");//aggiorno valori

header('Location: main2.php', true);//mando la prima pagina
}}}}
?>

Mentre le pagine interne dopo il LOGIN hanno tutte questo codice posto in alto prima di ogni cosa:

PHP:
session_start();

require_once('includiamo il collegamento con il DB');
require_once('include/controllo_sessione.php');

if((session_is_registered(nome della sessione))&&($_SESSION['nome'])){

$row=mysql_fetch_array(mysql_query("SELECT * FROM user WHERE nome='".$user."'"));


Dov'è he sbaglio? :( Perchè in PHP 5 non mi riconosce l'utente e mi dice UTENTE INESISTENZE.
 

minatore

Utente Attivo
25 Set 2007
410
0
0
PHP:
"SELECT * FROM user WHERE nome='".$pg."' AND password='".$pass."'");
//selezione utente da db
Guardando velocemente il tuo codice, vorrei sapere da dove prendi la var. $pg?

Ciao
 

Ewan

Nuovo Utente
2 Ott 2010
15
0
0
Mi sa che devo fare una cosa del genere vero?

$pg=mysql_query("SELECT * FROM user WHERE nome='".$user."'");
 

minatore

Utente Attivo
25 Set 2007
410
0
0
Mi sa che devo fare una cosa del genere vero?

$pg=mysql_query("SELECT * FROM user WHERE nome='".$user."'");

Non mi riferivo tanto alla query, ma sei sicuro che i dati inviati dal form vengano ricevuti dalla pagina interessata? Provo ad usare il tuo codice e fare delle prove. Ciao
Potresti postare il codice completo delle pagine grazie
 
Ultima modifica:

Ewan

Nuovo Utente
2 Ott 2010
15
0
0
Si perchè se metto su Altervista PHP 4 attivo mi funziona, se metto PHP 5 mi fa entrare ma non mi riconosce il luogo :(

Ti ringrazio gentilissimo, fammi sapere. Resto a disposizione per ogni chiarimento.
 

minatore

Utente Attivo
25 Set 2007
410
0
0
Si perchè se metto su Altervista PHP 4 attivo mi funziona, se metto PHP 5 mi fa entrare ma non mi riconosce il luogo :(

Ti ringrazio gentilissimo, fammi sapere. Resto a disposizione per ogni chiarimento.


Codice completo delle pagine grazie
 

Ewan

Nuovo Utente
2 Ott 2010
15
0
0
LOGIN (login.php)
PHP:
<html>
<body>
  <div align="center">
  <form action="main.php" method="post">
    <table cellpadding="3" cellspacing="3" width="200">
      <tr onmouseover="this.className = 'hlt';" onmouseout="this.className = 'hlu';" class="hlu"> 
        <td><div align="center">Nome:</div></td>
        <td><div align="left"> 
            <input type="text" name="pg" id="pg" />
          </div></td>
      </tr>
      <tr onmouseover="this.className = 'hlt';" onmouseout="this.className = 'hlu';" class="hlu"> 
        <td><div align="center">Pass:</div></td>
        <td><div align="left"> 
            <input type="password" name="pass" id="pass" max="32" />
          </div></td>
      </tr>
     
        <td></td>
        <td><div align="left"> 
            <input type="submit" name="entra" id="entra" value="Entra" />
          </div></td>
     
    </table>
</form>
</div>
</body>
</html>


MAIN (main.php)
PHP:
<?php
require_once("config.php"); //connessione al db

$giorno=date('j');
$mese=date('M');
if($mese=="Jan"){$meseOK="Gennaio";}
if($mese=="Feb"){$meseOK="Febbraio";}
if($mese=="Mar"){$meseOK="Marzo";}
if($mese=="Apr"){$meseOK="Aprile";}
if($mese=="May"){$meseOK="Maggio";}
if($mese=="Jun"){$meseOK="Giugno";}
if($mese=="Jul"){$meseOK="Luglio";}
if($mese=="Aug"){$meseOK="Agosto";}
if($mese=="Sep"){$meseOK="Settembre";}
if($mese=="Oct"){$meseOK="Ottobre";}
if($mese=="Nov"){$meseOK="Novembre";}
if($mese=="Dec"){$meseOK="Dicembre";}
$ora=date('H:i');
$anno=date('Y');
$data="$giorno"." $meseOK"." $anno"." $ora";
$data2="$giorno"." $meseOK"." $anno"." $ora";//Calcolo la data testuale

$pg=$_POST['pg'];
$pass=$_POST['pass'];

$control1=mysql_query("SELECT * FROM user WHERE nome='".$pg."' AND password='".$pass."'");//selezione utente da db



$pgnum=mysql_num_rows($control1);

$control=mysql_fetch_array($control1);

$ip=$_SERVER["REMOTE_ADDR"]; //recupero l'ip

if($pgnum!='1'){ //controllo se il pg esiste
header("Location: php_errori/utente_inesistente.php");
}else{
if($control[ban]=='1'){
header("Location: php_errori/utente_bannato.php");
}else{
if ($control[connesso]=='1'){
header("Location: php_errori/utente_collegato.php");	
}else{
if(($ip==$control['ip']) OR ($control['connesso']=='0')){
	
session_start();

$_SESSION['nome'] = $control['nome'];

$user = mysql_real_escape_string($_POST['pg']);

$user = htmlentities ($_POST['pg']);

$pass = mysql_real_escape_string($_POST['pass']);

$pass = htmlentities ($_POST['pass']);


$user=$_SESSION['nome'];

$now=time();//recupero time

$insert=mysql_query("INSERT INTO accessi (nome,data,data2,ip,stato) VALUES ('".$user."','".$data."',NOW(),'".$ip."','entrato')");//inserisci accesso

$update=mysql_query("UPDATE user SET time='".$now."',  luogo='Mappa', luogo_a='Mappa', ullacc='".$data2."', connesso='1', ip='".$ip."', ultimaexp = '".$now."' WHERE nome='".$user."'");//aggiorno valori

header('Location: main2.php', true);//mando la prima pagina
}}}}
?>

MAIN2 (main2.php)
PHP:
<?php
session_start();

require_once('include/include.php');
require_once('include/controllo_sessione.php');

if(isset($_SESSION['nome']) && !empty($_SESSION['nome'])){

$row=mysql_fetch_array(mysql_query("SELECT * FROM user WHERE nome='".$user."'"));
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $gioco_nome; ?></title>
<link rel="stylesheet" type="text/css" href="css/<?=$row[skin]?>/centrale.inc.css" />
<script language="JavaScript1.2" src="js/protezione.js"></script>
</head>
<frameset cols="220,*,220" frameborder="0" framespacing="0" border=0>
<?php
if(($row[imbarco]!="0")||($row[equipaggio]!="0")){
$nave=mysql_fetch_array(mysql_query("SELECT * FROM navi WHERE id='".$row['equipaggio']."' OR id='".$row['imbarco']."'")) or die (mysql_error()); //seleziono la nave
$luogo=mysql_fetch_array(mysql_query("SELECT * FROM luoghi WHERE tipo='nave".$nave['id']."'")) or die (mysql_error()); //seleziono il luogo
$block="1";
}
?>
<frameset rows="247,*,0" frameborder="0" framespacing="0" border=0>

<frame frameborder="no" marginwidth="0" marginheight="0" src="<?php if($block=="1"){ echo"rosa_nave.php?idluogo=$luogo[id]&naveid=$nave[id]";}else{echo"rosa.php?idluogo=1";}?>" name="rosa" scrolling="no" title="rosa" noresize />

<frame frameborder="no" marginwidth="0" scrolling="no" marginheight="0" src="scheda_ridotta.php" name="scheda"  title="scheda" noresize />

<frame frameborder="no" marginwidth="0" marginheight="0" src="data.php" name="data" scrolling="no" title="data" noresize />
<frame src="UntitledFrame-28"></frameset>
<frameset rows="120,*,22" frameborder="0" scrolling="no" framespacing="0" border=0>
 <frame frameborder="no" marginwidth="0" scrolling="no" marginheight="0" src="menu.php"  name="menu" title="menu" noresize />
 <frame frameborder="no" marginwidth="0" scrolling="auto" marginheight="0" src="<?php if($block=="1"){ echo"$luogo[pagina]";}else{echo"mappa.php";}?>" name="centrale" title="centrale"  noresize />
 <frame frameborder="no" marginwidth="0" scrolling="no" marginheight="0" src="stringa.php" name="stringa" title="stringa"  noresize />
</frameset>
<frameset rows="160,55,159" frameborder="0" framespacing="0" border=0>
<frame frameborder="no" marginwidth="0" marginheight="0" src="luogo.php?idluogo=1" scrolling="no" name="luogo" title="luogo" noresize />
<frame frameborder="no" marginwidth="0" marginheight="0" src="php_laterale/utente.php" scrolling="no" name="utente" title="utente" noresize />
<frame frameborder="no" marginwidth="0" scrolling="no" marginheight="0" src="pannello.php?idluogo=<?php if($block=="1"){echo"$luogo[id]";}else{echo"1";}?>" name="pannello"  title="pannello" noresize />
<frame frameborder="no" marginwidth="0" scrolling="no" marginheight="0" src="scheda_ridotta.php" name="scheda"  title="scheda" noresize />
</frameset>
<noframes></noframes>
</frameset>
</html>
<?php	
// Avviso di Sessione non Valida!	
}else{
	echo"<center><b>Accesso Negato!</b>
	</center>";
}
?>
 

minatore

Utente Attivo
25 Set 2007
410
0
0

Veramente strano, funziona, non ho php5, ma non penso sia quello il problema.
Cedo la parola agli esperti
Ciao
 

Ewan

Nuovo Utente
2 Ott 2010
15
0
0
Dunque ho provveduto a fare delle modifiche ma sembra proprio che non và, vi posto il codice aggiornato sperando di trovare una soluzione:

MAIN (main.php)
Codice:
<?php
require_once("config.php"); //connessione al db

$giorno=date('j');
$mese=date('M');
if($mese=="Jan"){$meseOK="Gennaio";}
if($mese=="Feb"){$meseOK="Febbraio";}
if($mese=="Mar"){$meseOK="Marzo";}
if($mese=="Apr"){$meseOK="Aprile";}
if($mese=="May"){$meseOK="Maggio";}
if($mese=="Jun"){$meseOK="Giugno";}
if($mese=="Jul"){$meseOK="Luglio";}
if($mese=="Aug"){$meseOK="Agosto";}
if($mese=="Sep"){$meseOK="Settembre";}
if($mese=="Oct"){$meseOK="Ottobre";}
if($mese=="Nov"){$meseOK="Novembre";}
if($mese=="Dec"){$meseOK="Dicembre";}
$ora=date('H:i');
$anno=date('Y');
$data="$giorno"." $meseOK"." $anno"." $ora";
$data2="$giorno"." $meseOK"." $anno"." $ora";//Calcolo la data testuale

$pg=$_POST['pg'];
$pass=$_POST['pass'];

$control1=mysql_query("SELECT * FROM user WHERE nome='".$pg."' AND password='".$pass."'");//selezione utente da db



$pgnum=mysql_num_rows($control1);

$control=mysql_fetch_assoc($control1);

$ip=$_SERVER["REMOTE_ADDR"]; //recupero l'ip

if($pgnum!='1'){ //controllo se il pg esiste
header("Location: php_errori/utente_inesistente.php");
exit();
}
if($control[ban]=='1'){
header("Location: php_errori/utente_bannato.php");
exit();
}
if($control[connesso]=='1'){
header("Location: php_errori/utente_collegato.php");
exit();	
}
if(($ip==$control['ip']) OR ($control['connesso']=='0')){
	
session_start();

$_SESSION['nome'] = $control['nome'];

$user = mysql_real_escape_string($_POST['pg']);

$user = htmlentities ($_POST['pg']);

$pass = mysql_real_escape_string($_POST['pass']);

$pass = htmlentities ($_POST['pass']);


$user=$_SESSION['nome'];

$now=time();//recupero time

$insert=mysql_query("INSERT INTO accessi (nome,data,data2,ip,stato) VALUES ('".$user."','".$data."',NOW(),'".$ip."','entrato')");//inserisci accesso

$update=mysql_query("UPDATE user SET time='".$now."',  luogo='Mappa', luogo_a='Mappa', ullacc='".$data2."', connesso='1', ip='".$ip."', ultimaexp = '".$now."' WHERE nome='".$user."'");//aggiorno valori

header('Location: main2.php', true);//mando la prima pagina
}
?>
Codice inserito in alto in ogni pagine:
Codice:
<?php
session_start(); 

require_once('include/include.php'); 
require_once('include/controllo_sessione.php'); 

if(isset($_SESSION['nome']) && !empty($_SESSION['nome'])){

$row=mysql_fetch_array(mysql_query("SELECT * FROM user WHERE nome='".$_SESSION['nome']."'"));

….?>

Come prima, mi fa accedere però non riconosce il Luogo e in alcune pagine sembra proprio che non riconosce nemmeno l'utente. :(
 

Fabio7

Nuovo Utente
31 Ago 2011
4
0
1
PHP Userrname

Salve a tutti mi chiamo Fabio e sono nuovo del sito, probabilmente posto una richiesta nella sezione errata: dunque mi servirebbe una "funzione" (chiamiamola impropriamente così) dove una volta inserita la Username in una sezione protetta di un sito la stessa Username sia riportata nel campo nome e che questo sia immodificabile.
 

Fabio7

Nuovo Utente
31 Ago 2011
4
0
1
faccio prima a farvi vedere: www.lega2pini.it Sezione "Comunica la formazione"
una volta inserita la username, vorrei che la stessa fosse riportata nel campo "Nome"
 
Discussioni simili
Autore Titolo Forum Risposte Data
MarcoGrazia Salvataggio HTML in database PHP 2
A Errore durante il salvataggio Photoshop 0
A Compressione al salvataggio Photoshop 0
S problema salvataggio immagini Photoshop 0
T Fpdf salvataggio su directory protetta PHP 0
I Salvataggio snapshot IPCAM tramite PHP PHP 5
max1974 Salvataggio data errato PHP 3
L [Javascript] Problema salvataggio dati in db Javascript 1
M [PHP] Problemi di salvataggio su campo calcolato PHP 0
S [PHP] salvataggio di un dato più volte PHP 0
A [Photoshop] Problema salvataggio foto in JPEG Photoshop 5
Luigixy [PHP] Salvataggio path su file PHP 3
M Salvataggio contenuto console javascritp in file di testo Presentati al Forum 0
F Ip cam e salvataggio video IP Cam e Videosorveglianza 1
A [Javascript] Salvataggio immagine da webcam Javascript 2
Laskot [Javascript] Registrazione e salvataggio utenti in LocalStorage Javascript 8
bubino8 [Javascript] jsPDF Con nome al salvataggio Javascript 2
L estrazione dati da mysql in php e salvataggio in cartella del server PHP 51
T salvataggio e ripresa dell'opzione select. PHP 9
A salvataggio file audio su una seconda pagina html Javascript 0
A Form fattura multiriga e query salvataggio mysql PHP 3
elpirata Pagina posizione Top dopo salvataggio form Javascript 0
Z [VB.NET] salvataggio dati da datagridview a database .NET Framework 1
P problema salvataggio e richiamo SESSION PHP 0
A [risolto] Ottimizzare salvataggio dati MySQL 4
Furiella Salvataggio file tramite sfoglia PHP 5
N Salvataggio risultati ricerca. Classic ASP 0
P Uploadify e salvataggio immagini nel DB PHP 21
N PhpMailer e salvataggio allegato sul server PHP 11
L salvataggio pagina con ckeditor PHP 0
S Salvataggio Manifesto A3 Photoshop 2
B Salvataggio impostazioni stile wordpress PHP 7
maxbossi [VBulletin] Salvataggio automatico post CMS (Content Management System) 1
carter problema salvataggio file txt WordPress 2
L problema salvataggio file testo PHP 10
V Aiuto su utilizzo ARRAY ed eventuale salvataggio all'interno del database! PHP 20
neo996sps [VB 2010] Aiuto su procedura di salvataggio dati mysql .NET Framework 1
A Salvataggio dati (era: funzione penso in javascript) PHP 2
riminese77 Salvataggio dati da List(of) ASP.NET 2
M Salvataggio immagini e file Flash Discussioni Varie 3
L schermata di salvataggio PHP 4
M Salvataggio pennelli personalizzati Photoshop 1
T Problema nel salvataggio dei dati dopo il form. PHP 7
I salvataggio guestbook Supporto Mr.Webmaster 0
I Salvataggio dati sessione in tabella PHP 4
A bloccare salvataggio dell'immagine Sicurezza e Virus 3
G Impedire salvataggio pagina web HTML e CSS 5
M Salvataggio automatico Javascript 5
W Salvataggio in php PHP 1
L [Java] Salvataggio File Di Testo Java 1

Discussioni simili