Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Problema modulo php

  1. #1

    Problema modulo php

    Ciao a tutti.

    Scusate se vi scrivo per questo problema stupido ma non riesco a trovare risposta.

    ho un modulo così fatto :

    <fieldset>
    <legend>Opzione 1</legend>
    <div>
    <label for="materia">Materia: </label>
    <input type="text" name="materia" maxlength="100" size="20" value="<?php echo $materia; ?>"/>
    </div>
    <div>
    <label for="sigla">Sigla : </label>
    <select name="sigla">
    <option value=""> Inserisci il codice del disturbo</option>
    <option value="F00 - F09">F00 - F09</option>
    </select>
    </div>
    <div id="pulsante">
    <input type="submit" name="submit1" value="Invio1"/>
    </div>
    </fieldset>

    quando provo ad utilizzare la variabile &materia e $sigla in un select del tipo:

    $query2= ' SELECT
    id_utet, mat, sigla, clas, nome, esito
    FROM
    utet
    WHERE
    materia=" '.$_POST['materia'].' " AND
    sigla=" ' .$_POST['sigla'].' " ';
    non mi seleziona nulla. Se invece uso direttamente due valori possibili di $_POST['materia'] e $_POST['sigla'] cioè:

    $query2= ' SELECT
    id_alunno, mat, sigla, clas, nome, esito
    FROM
    utet
    WHERE
    materia=" valore a " AND
    sigla="valore b" ';

    tutto fila perchè???????????????????????????????????????????? ?? ....

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    stampa a video la variabile (es. con print $query2;exit e confrotale nei due casi... ci sarà qualche piccola differenza...

  3. #3
    grazie per la risposta.

    Ho fatto come hai detto è ottengo:

    SELECT id_utet, mat, sigla, clas, nome, esito FROM utet WHERE materia="" AND
    sigla=""

    nel caso con le variabili e inserendo i valori direttamente :

    SELECT id_utet, mat, sigla, clas, nome, esito FROM utet WHERE materia="it" AND
    sigla="F00 - F09"

    cioè in pratica i valori da me immessi

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ok... come vedi da te le variabili non sono inizializzate... ricontrolla dunque il form (ha il metodo "POST" impostato?) e verifica quello

  5. #5
    in pratica è questo

    <form action="risultato.php" method="post">

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    metti var_export($_POST) in cima al tuo script di gestione del form e posta il risultato qui

  7. #7
    grazie per la dritta ...

    Ho notato che non avevo chiuso adeguatamente il form.

    Ora però, lo so che sono un rompi ma..., ho un altro problemino.

    A valle della select ho queste due variabili

    $rs=mysql_query($query2,$db) or die (mysql_error($db));
    $nr=mysql_num_rows($rs);

    che utilizzo per il conteggio dei risultati e quando le faccio stampare ottengo:

    Resource id #6 per la prima

    e 0 per la seconda

    Ora nel database esite una voce che risponde ai dati immessi .... perchè non la vede?

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    controlla sempre che i valori immessi siano corretti.
    usa gli indici per caricare da database (sono piu' veloci e non hai problemi di formattazione del testo)..

    per un controllo

    Codice PHP:

    // estratto dal tuo codice
    $query2' SELECT
    id_utet, mat, sigla, clas, nome, esito
    FROM
    utet
    WHERE
    materia=" '
    .$_POST['materia'].' " AND
    sigla=" ' 
    .$_POST['sigla'].' " ';
    non mi seleziona nullaSe invece uso direttamente due valori possibili di $_POST['materia'e $_POST['sigla'cioè:

    $query2' SELECT
    id_alunno, mat, sigla, clas, nome, esito
    FROM
    utet
    WHERE
    materia=" valore a " AND
    sigla="valore b" '
    ;

    // CONTROLLA QUESTO 

    echo "controllo 1 ";
    var_dumpstrcmp"valore a",$_POST["materia"] ) ) ;
    echo 
    "<hr /> controllo 2 ";
    var_dumpstrcmp"valore b",$_POST["sigla"] ) ) ; 
    e come da doc :
    Returns < 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.

  9. #9
    ho fatto come hai detto ottengo:

    controllo 1 int(0)

    controllo 2 int(0)

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    le stringhe pertanto sono uguali se la query fallisce e' per altro motivo.

    Ma ricorda che :

    materia=" valore a " AND
    sigla="valore b" ';

    " valore a " e' diverso da "valore a"

    la noti la differenza ?

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.