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

    crisi nera per un form! :jam:

    Ciao a tutti, ho un problema che non riesco a risolvere da ieri, nonostante penso che sia tutto in ordine!

    questo è tutto il sorgente del file:

    <html>
    <head>
    <title>Modifica Database</title>
    </head>
    <body>

    <form action="dettpolizze.php" method="post">
    <?php
    $db = mysql_connect("localhost", "ilc0rv0", "");
    mysql_select_db("ucci",$db);

    $res = mysql_query("select polizza,codfisc,tipo from polizze ", $db);
    $num = mysql_num_rows($res);

    echo "<table border>";
    for ($i=0; $i<$num; $i++)
    {
    $pol = mysql_result($res, $i, "polizza");
    $codf = mysql_result($res, $i, "codfisc");
    $tipo1 = mysql_result($res, $i, "tipo");
    if($i==0)
    echo "<tr><td>SELEZIONE</td><td>NUMERO POLIZZA</td><td>TIPO POLIZZA</td><td>CODICE FISCALE</td><td>VARIE</td></tr>";
    $valori = array('R.C.A.E.R.D.', 'INFORTUNI/MALATTIE', 'PROFESSIONISTI', 'ABITAZIONE', 'AZIENDA', 'COMMERCIANTI', 'ARTIGIANI', 'VITA/PENS/RISPARMIO');
    $tipo = $valori[$tipo1 - 1];
    // echo "$tipo
    ";

    if($codf=='') {
    $varie='*';
    $count=1; }
    else
    $varie='';

    echo "<tr><td><input type='radio' name='valore' value=$pol></td><td>$pol</td><td>$tipo</td><td>$codf</td><td align='center'><font color='#FF0000'>$varie</font></td></tr>";

    }

    echo "</table>";

    echo "

    ";
    echo "<input type='submit' value='Clicca qui per il dettaglio della polizza'</a>";
    echo "<input type='hidden' name='tab' value=$tipo>";
    echo "

    ";
    if($count==1)
    echo "<font color='#FF0000'> ATTENZIONE LE POLIZZE CONTRASSEGNATE CON IL SIMBOLO * NON HANNO UN CLIENTE</font>";

    mysql_close($db);

    ?>
    </form>


    Torna indietro


    Torna all'indice
    </body>
    </html>
    il problema sta nel fatto che quando passo a dettpolizze.php ottengo come valori
    il giusto valore per la variabile $_POST['valore']
    mentre per $_POST['tab'] ottengo sempre il valore dell'ultimo record ottenuto nell'ultimo ciclo del for
    dove ho sbagliato?
    ho anche provato a spostare
    echo "<input type='hidden' name='tab' value=$tipo>";
    echo "

    ";
    all'interno del ciclo for, ma non va lo stesso
    la linea commentata
    // echo "$tipo
    ";
    mi serviva come debug e effettivamente i valori erano giusti, solo che passando i dati del form, i valori di $POST['tab'] sono sempre uguali e sono sempre quelli dell'ultimo ciclo

    help me!!!!!!!!

  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Scusa ma è normale che tu ottenga come risultato che $_POST['tipo'] sia uguale solo all'ultimo $tipo.
    Sia che stia all'interno che all'esterno del ciclo for.
    Cosa vuoi ottenere esattamente? Un array?
    Se è così ti conviene fare <input type="hidden" name="tipo[]" value="$tipo" /> e metterlo all'interno del ciclo for.

  3. #3
    Qua c'è un errore:
    echo "<input type='submit' value='Clicca qui per il dettaglio della polizza'</a>";
    Giusto:
    Codice PHP:
    echo "<input type='submit' value='Clicca qui per il dettaglio della polizza'>"
    per $_POST['tab'] ottengo sempre il valore dell'ultimo record ottenuto nell'ultimo ciclo del for
    Questo è esattamente ciò che fai fare al programma.
    Tu cosa devi fare di preciso?
    è meglio tacere e far credere di essere stupido piuttosto che parlare e togliere ogni dubbio

  4. #4
    echo "<tr><td><input type='radio' name='valore' value=$pol><td>
    beh dato che la variabile $pol ha ogni volta un valore diverso, pensavo che anche $_POST['tipo'] valesse ogni volta il valore assunto dalla variabile nel for!

    ora provo con l'array

  5. #5
    allora nel codice devi mettere:
    Codice PHP:
    $tipo[$i] = $valori[$tipo1 1]; 
    E poi sempre dentro al ciclo:
    Codice PHP:
    echo "<input type='hidden' name='tab[]' value=$tipo[$i]>"
    è meglio tacere e far credere di essere stupido piuttosto che parlare e togliere ogni dubbio

  6. #6
    mmm
    allora
    nel sorgente che ho inserito, mi fa una lista di tutti i record della tabella e tra i campi di questa tabella ce ne sono 2 che mi servono anche nella fase successiva:
    il numero della polizza
    e il tipo di polizza

    il numero lo ricavo da "input type=radio value=valore" ed ora mi serve che quando seleziono uno dei record tramite il bottone radio, automaticamente mi venga passato al successivo step anche il valore del tipo di polizza (per questo ho usato il campo hidden, ma mi da sempre il valore dell'ultimo record)

  7. #7
    l' input type=hidden lo puoi anche inserire all'interno del ciclo (ovviamente rimane invisibile come vuoi tu). Non riesci a settare i valori di questo campo se non ci metti nel "value" il valore che hai ad ogni ciclo.
    Spero di aver capito e di essermi stato capito .
    è meglio tacere e far credere di essere stupido piuttosto che parlare e togliere ogni dubbio

  8. #8
    mmm con l'array non va bene, a parte il fatto che non riesco a fargli passare i valori, a me serve solamente che all'invio del form mi vengano passati questi 2 valori:

    $_POST['valore']
    e non ci sono problemi, ogni volta me lo passa in modo giusto

    e mi serve che venga passato il valore di $tipo corrispondente allo stesso record di $_POST['valore']

    e non riesco a farlo

  9. #9
    ma scusa, anche qui devi cambiare:
    Codice PHP:
    echo "<tr><td><input type='radio' name='valore' value=$pol></td><td>$pol</td><td>$tipo[$i]
    <input type=hidden name=testo value=
    $tipo[$i]</td><td>$codf</td><td align='center'><font color='#FF0000'>$varie</font></td></tr>"
    è meglio tacere e far credere di essere stupido piuttosto che parlare e togliere ogni dubbio

  10. #10
    niente da fare, mi sono scocciato ed ho usato il modo che non volevo usare però...non sarà un buon modo di programmare ma almeno funziona
    nel secondo file ho aggiunto una query al DB

    $val=$_POST['valore'];
    $q = mysql_query("select tipo from polizze where polizza=$val", $db);
    $poti=mysql_result($q, 0, "tipo");

    dove seleziono il tipo direttamente dal DB usando il valore $_POST['valore'] che ricevo correttamente dal form precedente


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.