Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    annoso problema invio variabili con form

    Ho letto moltissimi post a riguardo, sarà la mia inesperienza, non riesco a risolvere il mio problema, che poi è il problema "classico" dell'invio variabili tramite metodo POST. Le mie variabili sono 6 me per il momento mi accontenterei di farne passare almeno una!
    codice:
    file form.php
    <form action='file_ricevente.php' method='post'>
    Ente Possessore: <select name='Ente_nome'>
    <?php
    $query = "SELECT Ente_nome " .
    "FROM entepossessore " ;
    $result = mysql_query($query,$link) or die (mysql_error());
    echo '<option>';
    while ($records=mysql_fetch_array($result)) {
    echo '<option value="$records[Ente_nome]">'.$records[Ente_nome].'</option>';
    }
    ?>
    </select>
    <input type="submit" name="Ente_nome" value=invia>

    codice:
    file che riceve i risultati dal form
    <?php
    $Ente_nome = $_POST['Ente_nome'];

    $query ="SELECT Catasto_comune,Catasto_guardia,Catasto_villa,Catas to_file " .
    "FROM catasto,entepossessore " .
    "WHERE Catasto_ente = Ente_id " .
    "AND Ente_nome = '$Ente_nome' " ;
    $result = mysql_query($query,$link) or die (mysql_error());
    $num_catasto = mysql_num_rows($result);

    echo "Ci sono $num_catasto risultati che rispondono al criterio prescelto";
    ?>

    C'è qualcuno che può fare delle ipotesi sul non funzionamento d questo codice?

  2. #2
    come fai a dire che le variabili non passano?

    Io direi piuttosto che passano ma con i valori sbagliati ...

    Quando crei i valori del <select> se usi veramente il codice postato tutti i campi avranno come valore $records[Ente_nome] (non il valore ma veramente questo testo), prova a scambiare la seguente riga:
    echo '<option value="$records[Ente_nome]">'.$records[Ente_nome].'</option>';
    con questa:
    echo '<option value="'.$records['Ente_nome'].'">'.$records['Ente_nome'].'</option>';

    E nella pagina che riceve il form metti da qualche parte:
    print '<pre>'.print_r($_POST, 1).'</pre>';
    così vedrai che il valore arriva, ma non è corretto ...

  3. #3
    Ho fatto le modifiche che mi hai suggerito ed il risultato è che effettuando una selezione nella pagina che contiene il form ottengo:

    Array
    (
    [Ente_nome] => invia
    [comu] =>
    [catg] =>
    [vill] =>
    [pagi] =>
    [attr] =>
    )

    Ci sono 0 risultati che rispondono ai criteri prescelti

    Ovviamente comu, catg, vill, pagi, attr sono gli altri campi el database sui quali per il momento non effettuo alcuna scelta.
    Cosa significa questo risultato? Non mi sembra che passi proprio niente, neanche una variabile sbagliata...

  4. #4
    è ancora più semplice di quanto sembra: il tuo form funziona perfettamente!!!!

    In $_POST['Ente_nome'] non ricevi il valore selezionato dal select semplicemente perché anche il bottone di submit si chiama Ente_nome, dunque questo sovrascrive il valore del <select>!

    Rinomina il bottone di invio (<input type="submit">) e vedrai che $_POST['Ente_nome'] assume il valore selezionato.

  5. #5
    Ti ringrazio, effettivamente il valore della variabile compare nella pagina di ricezione del form.
    Però ti chiedo: Questa variabile deve essere un valore che inserisco nella clausola WHERE della mia query per poi visulaizzare solo i record ad essa relativi.

    Ora, la query funziona perche se io inserisco:

    WHERE Ente_nome = 'nome dell'ente selezionato'

    funziona perfettamente e la variabile $num_catasto mi dà il numero dei records che vengono tirati fuori.

    Qual'è il passo successivo per inserire il valore del campo 1 (ente_nome) nella mia query?

    Grazie infinite!!

  6. #6
    $query ="SELECT Catasto_comune,Catasto_guardia,Catasto_villa,Catas to_file FROM catasto,entepossessore WHERE Catasto_ente = Ente_id AND Ente_nome = '{$_POST['nome_campo']}'";

    Se metti questo (sostituendo nome_campo con il vero nome) normalmente userai il valore ottenuto dal form per fare la tua query.

    Dovresti ovviamente aggiungere dei controlli per vedere se ottieni il valore, ... prima di fare la query

  7. #7
    Grazie, Spoon25, con i tuoi suggerimenti sono riuscita a risolvere il mio problema!

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.