Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509

    [php] header(location: ...)

    qualcuno gentilmente mi puo' dare delle delucidazioni sull'effettivo funzionamento del comando header?

    ho iniziato da poco e credevo che il comando "header" consistesse nel fare un redirect ad una pagina ma qualcosa mi sfugge.

    io fisicamente ho fatto un form, una volta dato l'ok vengono inviati i dati ad una pagina di controllo sulla validità dei dati. alla fine di questo controllo ho messo il comando header(location:"" pensando che servisse a fare un redirect a quel punto della pagina e che si portasse dietro tutti i dati precedenti.

    leggendo sui vari siti ho letto che l' header(location: ) viene caricato prima che la pagina stessa venga caricata e che solitamente viene messo in alto ....
    (significa che se lo metto alla fine tutta la pappardella non viene caricata e va direttamete e mi fa il redirect?)
    cosa principale..come posso fare per far trasferire tutti i dati?
    al momento ho una cosa simile:

    form.php ----> check.php(all'inizio ha un include "convert.php" alla fine ha una condizione..se tutto ok INCLUDE"send.php" se qualcosa non va HEADER(location: "error.php")
    pero' la pagina che appare dice solo errore e non viene passato il contenuto della variabile $error.

    l'ideale per me sarebbe usare un redirect su una nuova pagina passando tutti i dati mentre la pagina precedente dovrebbe venire chiusa....in questo modo eviterei che qualcuno mi invii 50 copie uguali usando continuamente il tasto indietro di explorer

    grazie per il tempo che mi dedicate

  2. #2
    salva i dati in sessione...
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  3. #3
    Ciao!

    Pagina che prende i dati:

    Codice PHP:
    $var $_POST['var'];

    $query "INSERT INTO tabella (var) VALUES ('$var')";
    if(!
    mysql_query($query) or die (mysql_error())) {
          
    header("Location: errore.php");
          exit();
    } else {
          
    header("Location: ok.php");
          exit();

    Ciao!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    codice:
    $errmsg = "";
    	if (empty($name)) {
    		$errmsg .= "[*]Inserire almeno il nome!\n";
    	}
    	if (empty($surname)) {
    		$errmsg .= "[*]Inserire almeno il cognome!\n";
    	}
    
    	if (empty($mail)||
    	 !eregi("^[A-Za-z0-9\_-]+.[A-Za-z0-9\_-]+@[A-Za-z0-9\_-]+.[A-Za-z0-9\_-]+.*", $mail)){
    	 $errmsg .= "[*]$mail indirizzo e-mail non valido\n";
    	}
    	
    	if (empty($phone)||!ereg("[0-9]{8,9}",$phone)) {
    		$errmsg .= "[*]$phone immettere il numero senza spazi o altri caratteri\n";
    	}
    if (empty($errmsg)) {
    	    include "send.php";
    	    }
    			else {
    				header ("location:error.php");
    	}
    io ho una cosa come questa.solo vorrei che il file error.php fosse popolato con la variabile $error, invece è vuota.
    come posso inviarla nel file error.php?
    che so tipo error.php?$error ..non esiste un sistema del genere?
    grazie

  5. #5
    certo:

    Codice PHP:
    header("Location: error.php?error=$errmsg");
    exit(); 
    Ciao!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    la stringa indica che alla variabile error associa la mia variabile $errmsg.

    quindi per recuperarla.. avro' nella pagina error.php la variabile
    $_GET['error'] che contiene la variabile $errmsg?
    scusate se domando cose anche banali ma sono ancora alle prime armi :P

  7. #7
    certamente!!!

    ma ti consiglio di provare prima, se non funziona allora posti qui!!

    Ciao!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    non va

    nella pagina ho scritto questo:
    codice:
    <?php $error=$_GET['errmsg'];
    echo $errmsg;
    echo $error;?>
    
     <table width="640" border="0" cellspacing="3" cellpadding="0">
              <?php 
    echo "<table><TR><TD>";
    echo "<img src=\"immagini/accesso.jpg\" width=\"84\" height=\"150\"></TD>";	
    echo "<TD>";
    		print <<<EOQ
    
    
    
    <font color=red>
    [b]
    <ul>
    $error[/list]
    Per favore riprovare.
    </p>
    EOQ;
    echo "</TD></TR>";
    ?>
    	
         </table>
    ho aggiunto la prima parte per fargli stampare alemno quacosa...ma nulla. dove sto' sbalgiando?
    quando premo invia quello che appare sull'indirizzo è questo
    codice:
    http://localhost:8080/sito/error.php?error=[*]Inserire%20almeno%20il%20nome!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    up

  10. #10
    Cambia la prima riga!!

    $error = $_GET['error'];

    Ciao!

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