Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problema con redirezione di header()

    Salve. Non riesco a capire perchè non viene effettuato il redirect della pagina specificata in header:

    codice:
    header ("location: http://localhost/successRegistration.php?firstlastname=" + $firstlastname);
    La pagina rimane ferma dov'è e non va alla pagina specificata... qualche idea?

  2. #2
    Abilita la visualizzazione degli errori ed utilizza un tool tipo LiveHTTPHeaders per analizzare gli header restituiti dallo script.

  3. #3
    Originariamente inviato da filippo.toso
    Abilita la visualizzazione degli errori ed utilizza un tool tipo LiveHTTPHeaders per analizzare gli header restituiti dallo script.
    Ho risolto usando Javascript... ho sempre notato che header() di php fa capricci quando si specificano parametri per indirizzo o si utilizzando variabili stringa o_O

  4. #4
    Strano

    Prova così:

    header ("Location: http://localhost/successRegistration.php?firstlastname=$firstlastname");
    exit;
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  5. #5
    Originariamente inviato da Dreamer89
    Ho risolto usando Javascript... ho sempre notato che header() di php fa capricci quando si specificano parametri per indirizzo o si utilizzando variabili stringa o_O
    A me non è mai capitato.

  6. #6
    Ho notato un'altra cosa strana... in una pagina php ho una serie di redirect con header, ma viene eseguito sempre e solo l'ultimo... è normale?

  7. #7
    E quanti vorresti che fossero eseguiti?

    Per quanto riguarda il comportamento di header, fai riferimento al manuale ufficiale:

    http://www.php.net/header (secondo parametro)

  8. #8
    Io non riesco a capire dov'è che sbaglio, potete dare voi un'occhiata?
    codice:
    <?php
    
    $userType = $_POST['user'];
    
    if ($userType == "private")
    {	
    	$enable = "n";
    	$password = $_POST['password'];
    	$password2 = $_POST['password2'];
    	$firstlastname = $_POST['firstlastname'];
    	$address = $_POST['address'];
    	$cap = $_POST['cap'];
    	$local = $_POST['local'];
    	$city = $_POST['city'];
    	$email = $_POST['email'];
    	$telephone = $_POST['telephone'];
    	$mobile = $_POST['mobile'];
    
    
    	$link = "http://localhost/dieffegioielli/registration.php?userType=" + $userType;	
    	if ($password == "")
    	{
    		$err = "\'Password\' è un campo obbligatorio";
    		header ("Location: errorPage.php?err=$err&link=$link");
    	}
    
    	if ($password2 == "")
    	{
    		$err = "'Ripetere password' è un campo obbligatorio";
    		header ("Location: errorPage.php?err=$err&link=$link");
    	}
    	
    	if ($password != $password2)
    	{
    		$err = "I due campi delle password non coincidono";
    		header ("Location: errorPage.php?err=$err&link=$link");
    	}
    	
    	if ($firstlastname == "")
    	{
    		$err = "'Nome e cognome' è un campo obbligatorio";
    		header ("Location: errorPage.php?err=$err&link=$link");
    	}
    	
    	if ($telephone == "")
    	{
    		$err = "'Telefono' è un campo obbligatorio";
    		header ("Location: errorPage.php?err=$err&link=$link");
    	}
    	
    	include ("db_connect.php");
    	mysql_query ("INSERT INTO private_user_table (enable, password, firstlastname, address, cap, local, city, email, telephone, mobile) VALUES ('$enable', '$password', '$firstlastname', '$address', '$cap', '$local', '$city', '$email', '$telephone', '$mobile')", $db)
    	or die ("Spiacente, si è verificato un errore interno. <a href = \"http://localhost/dieffegioielli/registration.php?userType=" + $userType
    	+ "\">Torni indietro</a> e riprovi.");
    	
    	header ("Location: http://localhost/dieffegioielli/successRegistration.php");
    }
    else if ($userType == "seller")
    {
    }
    
    ?>

  9. #9
    Come da manuale, inserisci exit(); dopo ogni chiamata header location.

  10. #10
    Originariamente inviato da filippo.toso
    Come da manuale, inserisci exit(); dopo ogni chiamata header location.
    Grazie mille funziona ^^
    Però c'è un altro problema, la variabile stringa $link che passo come parametro alla pagina dell'header alla fine risulta 0... come è possibile? La variabile $err invece è corretta.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.