Visualizzazione risultati 1 fino 6 di 6
Like Tree1Likes
  • 1 Post By alemoppo

Discussione: Non riesco a riempire i campi dei form con i valori delle variabili

  1. #1
    Guest

    Predefinito Non riesco a riempire i campi dei form con i valori delle variabili

    Vi posto il codice, riuscite ad aiutarmi? CodiceFiscale è la chiave primaria della tabella quindi non c'è bisogno di mettere una ripetizione o sbaglio? Ho letto e riletto ma non riesco a trovare l'errore
    Codice HTML:
    [PHP]<?php
    include('db_conn.php');
    $CF=$_POST['CF'];
    $query=mysql_query("SELECT * FROM Clienti WHERE CodiceFiscale='".$CF."'");
    $riga=mysql_fetch_array($query);
    
    $nome=$riga['Nome'];
    $cognome=$riga['Cognome'];
    $tel=$riga['NuemroDiTelefono'];
    $impDaVer=$riga['ImportoDaVersare'];
    $ListaPatenti=$riga['CategoriaPatente'];
    $impVers=$riga['ImportoVersato'];
    $saldato=$riga['Saldato'];
    
    ?>
    <form action="nuovoCliente.php" method="POST">
     <pre>
    CODICE FISCALE      <input type="text" name="CFF" value="<?= $CF ?>"><br/><br/>
    NOME                <input type="text" name="nomeF" value="<?= $nome ?>"><br/><br/>
    COGNOME             <input type="text" name="cognomeF" value="<?= $cognome ?>"><br/><br/>
    TEL.                <input type="text" name="telF" value="<?= $tel ?>"><br/><br/>
    IMPORTO DA VERSARE  <input type="text" name="impDaVerF" value="<?= $impDaVer ?>"><br/><br/>
    CATEGORIA PATENTE   <select name="ListaPatentiF">');[/PHP]
    Ultima modifica di ScuoGuE : 08-08-2016 alle ore 16.22.17

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Il problema esattamente qual'è? Forse dopo aver inviato un form tramite POST, le variabili $nome, $cognome, ... non sono correttamente inizializzate?

    In questo caso, controlla che $_POST['CF'] sia correttamente inizializzato prima di usarlo in un'interrogazione.
    Usa error_reporting(E_ALL); per mostrare tutti gli errori che avvengono durante l'esecuzione del codice.
    Poi, controlla che la query sia stata eseguita correttamente e, se non lo è, mostra il messaggio relativo all'errore (puoi usare mysql_error()).
    Infine, anche se l'interrogazione è andata a buon fine, non assumere che contenga almeno un risultato: può darsi che il codice fiscale richiesto non sia presente nella base di dati, in questo caso mysql_fetch_array restituirà false.

    Tutto questo si basa sull'assunzione che db_conn.php sia corretto e renda disponibile la connessione a livello globale.

    Ci sono un paio di questioni degne di nota, anche se non direttamente connesse al tuo problema: le funzioni mysql_* sono deprecate, dovresti usare mysqli o PDO. Inoltre esistono delle omocodie, ovvero persone con lo stesso codice fiscale; sono piuttosto rare, quindi valuta tu se questo altera o meno la scelta del codice fiscale come chiave primaria.

  3. #3
    Guest

    Predefinito

    Avevo sbagliato la variabile in $CF=$_POST['CF'] , però ora mi sorge un altro problema, quando vado a stampare un menu' a tendina, le opzioni del menu sono prese dal database ma il menu mi rimane vuoto
    Codice HTML:
    <?php
    include('db_conn.php');
    $CF=$_POST['ListaClienti'];
    $query=mysql_query("SELECT * FROM Clienti WHERE CodiceFiscale='".$CF."'");
    $riga=mysql_fetch_array($query);
    
    $nome=$riga['Nome'];
    $cognome=$riga['Cognome'];
    $tel=$riga['NuemroDiTelefono'];
    $impDaVer=$riga['ImportoDaVersare'];
    $ListaPatenti=$riga['CategoriaPatente'];
    $impVers=$riga['ImportoVersato'];
    $saldato=$riga['Saldato'];
    ?>
    <form action="nuovoCliente.php" method="POST">
     <pre>
    CODICE FISCALE      <input type="text" name="CFF" value="<?= $CF ?>"><br/><br/>
    NOME                <input type="text" name="nomeF" value="<?= $nome ?>"><br/><br/>
    COGNOME             <input type="text" name="cognomeF" value="<?= $cognome ?>"><br/><br/>
    TEL.                <input type="text" name="telF" value="<?= $tel ?>"><br/><br/>
    IMPORTO DA VERSARE  <input type="text" name="impDaVerF" value="<?= $impDaVer ?>"><br/><br/>
    <?php                                                               //IL PROBLEMA SORGE QUI
    print('CATEGORIA PATENTE   <select name="ListaPatentiF">');         //NELLA SELECT
    $query2=mysql_query("SELECT Codice FROM Patenti");
    $riga2=mysql_fetch_array($query2);
    while($riga2)
    {
    $Codice=$riga['Codice'];
    print('<option value="'.$Codice.'">'.$Codice.'</option>');
    $riga2=mysql_fetch_array($query2);
    }
    print('</select><br/><br/>');
    ?>
    ACCONTO             <input type="text" name="$impVersF" value="<?= $impVers ?>"><br/><br/>
    HA GIÀ SALDATO?<input type="checkbox" name="$saldatoF" value="<?= $saldato ?>">
    </pre>
    <input type="Submit" value="INSERISCI">


    Comunque vorrei iniziare ad usare PDO, ma visto che ormai mi mancava solo questa pagina ho pensato di finire il lavoro e poi andare a studiarmi bene le funzioni PDO
    Ultima modifica di ScuoGuE : 08-08-2016 alle ore 19.49.52

  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Hai verificato che la query sia andata a buon fine? Se il menù rimane vuoto, la causa più probabile è che l'interrogazione sia fallita.
    Codice PHP:
    $query2=mysql_query("SELECT Codice FROM Patenti");
    if (
    $query2 === false) {
    echo
    "ERROR: " . mysql_error();
    }

  5. #5
    Guest

    Predefinito

    Si la query funziona

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

    Predefinito

    Codice PHP:
    $riga2=mysql_fetch_array($query2);
    while(
    $riga2)
    {
    $Codice=$riga['Codice'];
    Cosa è $riga[]? Non dovrebbe essere $riga2[]?

    Ciao!
    mzanella likes this.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •