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

    header location... HELP!

    Ciao! Sono nuova, sia del forum che di php... il mio primo ostacolo... ho una pagina con un form che ne chiama una per i controlli (solo php) che a sua volta termina con header location. tutto ok, fa i controlli e all'url si unisce il messaggio di errore (concatenato con ?), ma nella prima pagina ho messo una riga con echo $errore, perchè non me lo fa? mi sfugge qualcosa? volete il codice? GRAZIE!!!
    "qua nessuno c'ha il libretto d'istruzioni..."

    Almeno Credo
    Liga

  2. #2
    puo darsi che mandi qualcosa in input prima di mandare l'header

    posta il codice che è meglio

    Il Ticino è biancoblù
    DVDS delegato ufficiale

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Non so se ho capito bene ma se stampi $errore nella prima pagina non lo vedi perchè prima fai in maniera tale di cambiarla
    Codice PHP:
    header (location:'new.php');

    echo
    $errore
    Così cambi pagina e quindi non esegue più il tuo script.

    Cmq posta il codice altrimenti tiro solo ad indovinare

  4. #4
    grazie mille, ora inserisco il codice!!!

    prima pagina, che contiene il form e la echo che non esegue (fuori dal form):

    Codice PHP:
    <body onLoad="document.form.nome.focus()">
    <table width="100%" border="0">

    <tr>
    <td align="center" class="miotitolo">
    REGISTRAZIONE
    </td>
    </tr>
    <tr>
    <td>
    </td></tr>

    <tr>
    <td>
    <table align="center" width="40%" border="1" cellpadding="6" cellspacing="0" class= "maintable">
    <tr>
    <td>
    <table align="center" width="100%" border="0" cellpadding="0" cellspacing="0">

    <form name="form" method="post" action="salva.php">
    <tr valign="middle">
    <td align="left" width="28%">
    Nome:

    </td>.
    <td>
    <input type="text" name="nome" maxlength="20" size="20" value="<?php echo $nome?> " > 
    </td>
    </tr>
    <tr>
    <td align="left">
    Cognome:
    </td>
    <td>
    <input type="text" name="cognome" maxlength="20" size="20" value="<?php echo $cognome?> "> 
    </td>
    </tr>
    <tr>
    <td align="left">
    Num. Tel.:
    </td>
    <td>
    <input type="text" name="ntel" maxlength="20" size="20" value="<?php echo $ntel?> "> 
    </td>
    </tr>
    <tr>
    <td align="left">
    Tipo Tel.:
    </td>
    <td>
    <input type="text" name="ttel" maxlength="20" size="20" value="<?php echo $ttel?> "> 
    </td>

    </tr>
    <tr>
    <td align="CENTER" >
    <input type="submit" value="INVIA" >
    </td>
    <td align="center" >
    <input type="reset" value="RESET">
    </td>
    </tr>
    </form>
    </table>
    </td>
    </tr>
    </table>
    s
    <tr class="mainfont"><td class="mainfont"></td>
    </tr>
    <td>
    </td>

    <tr>
    <td align="center" >
    <?php
    echo $errore;
      
    ?> 
    </td> 
    </tr>

    </table>

    </body>
    poi la seconda, salva.php, che effettua i controlli e l'eventuale inserimento:

    Codice PHP:
    <?

    include ("config.inc.php");
    $nome =$_POST['nome'];
    $cognome $_POST['cognome'];
    $ntel $_POST['ntel'];
    $ttel $_POST['ttel'];
    if (
    trim($nome) == ""): $errore "Inserisci il tuo nome!";
    elseif (
    trim($cognome)=="") : $errore "Inserisci il tuo cognome!";
    elseif (
    trim($ntel)==""): $errore "Inserisci il tuo numero di telefono!";
    elseif (
    trim($ttel)==""): $errore "Inserisci il tipo di telefono!";
    elseif (
    is_int($ntel)): $errore "Inserire un numero!";
    else:
     {
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE) die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query="INSERT INTO anagrafe (nome, cognome, ntel, mtel) VALUES ('$nome','$cognome','$ntel','$ttel')";
    if (
    mysql_query($query$db)){
         
    $errore "La registrazione è avvenuta con successo!";
         
    $dest "inserimento.php?errore=".$errore;}
      else {
         
    $errore "Errore durante l'inserimento";}

    mysql_close($db);
    }
    endif;

    if (
    $dest == "") {
       
    $dest "inserimento.php?errore=".$errore."&nome=".$nome."&cognome=".$cognome;
       };    

    header("Location:$dest");   
    ?>
    questo è tutto, ho anche provato a togliere l'sql, fare i controlli e farmi restituire la stringa che vorrei sotto la tabelle, ma resta soltanto nell'URL, unica traccia... vuol dire comunque che li esegue bene, ma come faccio a usare la variabile $errore una volta tornata alla prima pagina?
    Se ci avete capito qualcosa e avete voglia di aiutarmi, vi ringrazio tantissimo, vorrei andare avanti e mi sono bloccata perchè sono testarda!!!
    )
    "qua nessuno c'ha il libretto d'istruzioni..."

    Almeno Credo
    Liga

  5. #5
    prova con
    echo $_GET['errore'];

    Il Ticino è biancoblù
    DVDS delegato ufficiale

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    sei sicura di aver messo un $errore=$_GET['errore'] o $errore=$_REQUEST['errore']?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    ok sono stato preceduto

  8. #8

    ok

    ora provo, ma mi fido!
    per capire, devo usare GET perchè nella seconda pagina ho usato POST, vero? effettivamente ha molto senso, non ci ho pensato...
    ma dalla seconda pagina avrei potuto reperire le variabili in un altro modo?
    ve lo chiedo solo perchè immagino a voi non costi molto, è una domanda un pò stupida, da principiante...!!!
    GRAZIE!!!
    "qua nessuno c'ha il libretto d'istruzioni..."

    Almeno Credo
    Liga

  9. #9

    funziona!!!

    volevo informarvi... tutto ok!!!
    grazie!
    credo che tornerò presto, anche solo per leggere, si imparano tante cose, siete mitici!
    CIAO!!!
    "qua nessuno c'ha il libretto d'istruzioni..."

    Almeno Credo
    Liga

  10. #10
    facciamo chiarezza:
    quello che tu passi tramite url, ovvero tutto quello che metti dopo ?
    (ad es.: pippo.html?nome=pippo&cognome=pappo)
    viene passato con il metodo GET
    invece quello che viene passato in modo "invisibile", ovvero che nn puoi vedere nell'url (ad es.: come fanno generalmente i form) viene passato via POST

    in pratica sono semplicemente due modi diversi di passare variabili da una pagina all'altra

    Il Ticino è biancoblù
    DVDS delegato ufficiale

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.