Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-10-2009, 13:46   #1
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
[PHP] Problema reindirizamento pagina

Devo far si che dopo la registrazione del account venga visualizzato un messaggio e dopo X secondi (in questo caso 3) l'utente venga reindirizzato alla pagina profilo.php.

Ho fatto nel seguente modo:
Codice:
<?php
...
...
echo "Il tuo account è stato attivato!"; 
sleep(3);
header('Location: ' . $url . 'profilo.php');
?>
Il problema è che l'echo non viene visualizzato, qualcuno sa dirmi perché. Grazie
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 15:16   #2
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
In alternativa ho trovato anche questo codice, ho provato ad inserirlo negli echo ma mi da errore, credo faccia casino con le virgolette del echo. Voi che dite?

Codice:
<meta http-equiv="Refresh" content="3;URL=sito.it">
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 16:06   #3
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Quote:
Originariamente inviato da Fede 88 Guarda i messaggi
Devo far si che dopo la registrazione del account venga visualizzato un messaggio e dopo X secondi (in questo caso 3) l'utente venga reindirizzato alla pagina profilo.php.

Ho fatto nel seguente modo:
Codice:
<?php
...
...
echo "Il tuo account è stato attivato!"; 
sleep(3);
header('Location: ' . $url . 'profilo.php');
?>
Il problema è che l'echo non viene visualizzato, qualcuno sa dirmi perché. Grazie
Probabilmente c'è un errore prima.
Comunque sappi che l'header non lo puoi modificare dopo che hai stampato qualcosa.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 19:43   #4
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
Quote:
Originariamente inviato da MEMon Guarda i messaggi
Comunque sappi che l'header non lo puoi modificare dopo che hai stampato qualcosa.
Non ho capito...
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 19:45   #5
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
Comunque questo è il file completo:

Codice:
<?php

include("connessioneDB.php");


// Controllo che la variabile "codice" ricevuta tramite GET abbia un valore 
if(!IsSet($_GET['codice'])){ echo "ERRORE: Codice di attivazione non fornito!";}
  else
    {
      $codice = $_GET['codice'];
      $check = mysql_query("SELECT * FROM utenti WHERE codice='".$codice."'");
      $appo = mysql_num_rows($check);
      if ($appo != 1) { echo "Non corrisponde nessun account al codice di attivazione usato"; }
        else 
          {
	    $curruser=mysql_fetch_array($check);
            if($curruser['conf']=='1') 
              { 
                echo "Il tuo account è già stato attivato!"; 
                echo "Tra pochi istanti verrai reindirizzato alla home.";
	      }
	      else
                {	          
		  // Seleziono username e password degli utenti con il suddetto codice
    	    	  $username = mysql_query("SELECT username FROM utenti WHERE codice='$codice'");
    	    	  $password = mysql_query("SELECT password FROM utenti WHERE codice='$codice'");
   	   	  // Creo una sessione con i selezionati dal DB
  	   	  session_start ();
  	   	  $_SESSION['username'] = $username;
   	   	  $_SESSION['pass'] = $password;
		  // Attivo l'account settando il campo conf = 1
		  $activate = mysql_query("UPDATE utenti SET conf='1' WHERE codice='".$codice."'");		  
		  echo "Il tuo account è stato attivato con successo!";
                  echo "Tra pochi istanti verrai reindirizzato alla pagina del tuo profilo.";

	        }
          }

    }
sleep(3);
header('Location: ' . $url . 'profilo.php');
?>
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 19:59   #6
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Quote:
Originariamente inviato da Fede 88 Guarda i messaggi
Comunque questo è il file completo:

Codice:
<?php

include("connessioneDB.php");


// Controllo che la variabile "codice" ricevuta tramite GET abbia un valore 
if(!IsSet($_GET['codice'])){ echo "ERRORE: Codice di attivazione non fornito!";}
  else
    {
      $codice = $_GET['codice'];
      $check = mysql_query("SELECT * FROM utenti WHERE codice='".$codice."'");
      $appo = mysql_num_rows($check);
      if ($appo != 1) { echo "Non corrisponde nessun account al codice di attivazione usato"; }
        else 
          {
	    $curruser=mysql_fetch_array($check);
            if($curruser['conf']=='1') 
              { 
                echo "Il tuo account è già stato attivato!"; 
                echo "Tra pochi istanti verrai reindirizzato alla home.";
	      }
	      else
                {	          
		  // Seleziono username e password degli utenti con il suddetto codice
    	    	  $username = mysql_query("SELECT username FROM utenti WHERE codice='$codice'");
    	    	  $password = mysql_query("SELECT password FROM utenti WHERE codice='$codice'");
   	   	  // Creo una sessione con i selezionati dal DB
  	   	  session_start ();
  	   	  $_SESSION['username'] = $username;
   	   	  $_SESSION['pass'] = $password;
		  // Attivo l'account settando il campo conf = 1
		  $activate = mysql_query("UPDATE utenti SET conf='1' WHERE codice='".$codice."'");		  
		  echo "Il tuo account è stato attivato con successo!";
                  echo "Tra pochi istanti verrai reindirizzato alla pagina del tuo profilo.";

	        }
          }

    }
sleep(3);
header('Location: ' . $url . 'profilo.php');
?>
Se fai un echo non puoi poi modificare l'header con
header('Location: ' . $url . 'profilo.php');
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 20:13   #7
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
Non c'è un altro modo per modificarlo?
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2009, 20:19   #8
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Devi fare il reindirizzamento in altro modo, o in html
Codice:
<META HTTP-EQUIV="Refresh" CONTENT="secondi; URL=http://url...">
o in javascript
Codice:
<script type="text/javascript">
window.location.href="http://url...";
</script
Ovviamente in entrambi i casi la roba che butti fuori deve essere una pagina web.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 10:03   #9
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
Grazie sono riuscito a risolvere usanto META HTTP-EQUIV

Ho un'altro problema, il codice scritto qui sotto non funziona.
Ho provato ha visualizzare con un echo il contenuto delle variabili $username e $password e mi visualizza:
- Resource id #6
- Resource id #7

Quindi deve esserci qualche errore nelle select, però non capisco dove...

Codice:
// Seleziono username e password degli utenti con il suddetto codice
    	    	  $username = mysql_query("SELECT username FROM utenti WHERE codice='".$codice."'");
    	    	  $password = mysql_query("SELECT password FROM utenti WHERE codice='".$codice."'");
		  // Creo una sessione con i selezionati dal DB
  	   	  session_start ();
  	   	  $_SESSION['username'] = $username;
   	   	  $_SESSION['pass'] = $password;
		  // Attivo l'account settando il campo conf = 1
		  $activate = mysql_query("UPDATE utenti SET conf='1' WHERE codice='".$codice."'");		  
		  // Memorizzo la data di login dell'utente nel campo data_ultima 
           	  mysql_query("UPDATE utenti SET data_ultima = NOW() WHERE (username = '$username')") or die (mysql_error());
		  echo "Il tuo account è stato attivato con successo!";
                  echo "Tra pochi istanti verrai reindirizzato alla pagina del tuo profilo.
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 12:39   #10
Tadde
Senior Member
 
Iscritto dal: Oct 2001
Città: Firenze
Messaggi: 585
mysql_query restituisce un oggetto di tipo tabella, non una stringa. Per ottenere l'informazione che cerchi da questa tabella devi usare i metodi per "scansionarla".
Tadde è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 12:44   #11
kurts
Senior Member
 
L'Avatar di kurts
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
ti da quei codici di errore perchè le variabili $username e $password non contengono una stringa come ti aspetti ma un array.
il risultato di una query in php è generalmente un array multidimensionale (in questo caso sono 2 array monodimensionali), ad ogni modo, per potere leggere i valori restituiti dalla query devi utilizzare la funzione mysql_fetch_array()

Codice:
$username = mysql_query("SELECT username FROM utenti WHERE codice='".$codice."'");
$username=mysql_fetch_array($username);
gia che ci sono ti consiglio di non memorizzare la password in una variabile di sessione, oltre che pericoloso non è nemmeno utile, se ti serve per controllare che quella inserita al login sia quella corretta ti posto il metodo che uso io

Codice:
if(IsSet($_POST['posted_username']) && IsSet($_POST['posted_password'])){
	$check=mysql_query("SELECT * FROM users WHERE username = '".$_POST['posted_username']."'")or die(mysql_error());
	$info=mysql_fetch_array($check);
	if($info['username']==($_POST['posted_username']) && $info['password']==md5($_POST['posted_password'])){
		$_SESSION['user']=$_POST['posted_username']; 
	}
}
se qualcuno nota errori o vuole darmi dei consigli siete i benvenuti
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 12:56   #12
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
Grazie per l'aiuto.

E se invece di memorizzare la pass memorizzassi l'MD5 della pass?
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 13:01   #13
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
Ho provato a correggere le query nel modo da te consigliato però non funziona ancora, adesso se visualizzo il contenuto delle variabili mi visualizza - - Array
- Array

Il codice è questo:
Codice:
// Seleziono username e password degli utenti con il suddetto codice
$query1 = mysql_query("SELECT username FROM utenti WHERE codice='".$codice."'");
$username = mysql_fetch_array($query1);    	    	  
$query2 = mysql_query("SELECT password FROM utenti WHERE codice='".$codice."'");
$password = mysql_fetch_array($query2);
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 13:01   #14
kurts
Senior Member
 
L'Avatar di kurts
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
Quote:
Originariamente inviato da Fede 88 Guarda i messaggi
Grazie per l'aiuto.

E se invece di memorizzare la pass memorizzassi l'MD5 della pass?
ma a che pro? voglio dire, una volta che verifichi l'esatto inserimento al momento del login poi sei a posto
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 13:08   #15
kurts
Senior Member
 
L'Avatar di kurts
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
Quote:
Originariamente inviato da Fede 88 Guarda i messaggi
Ho provato a correggere le query nel modo da te consigliato però non funziona ancora, adesso se visualizzo il contenuto delle variabili mi visualizza - - Array
- Array

Il codice è questo:
Codice:
// Seleziono username e password degli utenti con il suddetto codice
$query1 = mysql_query("SELECT username FROM utenti WHERE codice='".$codice."'");
$username = mysql_fetch_array($query1);    	    	  
$query2 = mysql_query("SELECT password FROM utenti WHERE codice='".$codice."'");
$password = mysql_fetch_array($query2);
si, scusa, una piccola distrazione
Codice:
$query1 = mysql_query("SELECT username FROM utenti WHERE codice='".$codice."'");
$query1 = mysql_fetch_array($query1);
$username = $query[0];
in poche parolecon la prima esegui la query, con la seconda prendi la prima riga (l'unica) e con la terza istruzione prendi il nome utente
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 13:20   #16
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
Quote:
Originariamente inviato da kurts Guarda i messaggi
si, scusa, una piccola distrazione
Codice:
$query1 = mysql_query("SELECT username FROM utenti WHERE codice='".$codice."'");
$query1 = mysql_fetch_array($query1);
$username = $query[0];
in poche parolecon la prima esegui la query, con la seconda prendi la prima riga (l'unica) e con la terza istruzione prendi il nome utente
Perfetto funziona!
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2009, 13:21   #17
Fede 88
Senior Member
 
L'Avatar di Fede 88
 
Iscritto dal: Aug 2004
Città: Milano
Messaggi: 1310
Quote:
Originariamente inviato da kurts Guarda i messaggi
ma a che pro? voglio dire, una volta che verifichi l'esatto inserimento al momento del login poi sei a posto
Hai ragione, quindi alla fine per la sessione ho fatto in questo modo:

Codice:
session_start ();
$_SESSION['username'] = $username;
Fede 88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
Nutanix accelera la migrazione da VMware...
Nutanix apre ai neocloud: piattaforma mu...
Nutanix amplia la piattaforma cloud e st...
Le fotografie dell'eclissi solare e dell...
Oracle AI Database si potenzia con nuove...
Russia offline: blackout internet mobile...
Gemini, Google investe 30 milioni per la...
Roborock Qrevo Edge S5A: 17.000 Pa, acqu...
Resa pubblica la foto della ''Terra che ...
Il robot che ha piegato 200 scatole di f...
SteelSeries Aerox 3 Wireless Gen 2: nuov...
"Quasi sociopatico": Sam Altma...
Star Wars Eclipse in difficoltà: ...
Gestione del team e romance organiche: l...
Intel lancia Core Ultra X9 378H: hardwar...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v