Visualizzazione dei risultati da 1 a 7 su 7

Discussione: form UPDATE in php5

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    form UPDATE in php5

    ciao con php5 non mi funziona più il form

    devo aggiornare dei dati cosa devo cambiare nel form?

    devo mettere $row perchè altrimenti non mi legge il dato nel db

    $row['attivo']

    se metto $_POST['attivo'] mi cambia il dato nel db ma non me lo legge nella pagina


    <form enctype="multipart/form-data" name="form1" action="<?=$PHP_SELF?>" method="post">

    <input type="radio" name="attivo" value="no" <?php if ($row['attivo']=="no") { echo "CHECKED"; } ?>> no

    <input type="radio" name="attivo" value="si" <?php if ($row['attivo']=="si") { echo "CHECKED"; } ?>> si

    <input type="hidden" name="pagina" value="2">

    <input type="hidden" name="id" value="<?=$row["id_login"]?>">

    <input type="hidden" name="email_utente" value="<?=$row["email"]?>">
    <input type="hidden" name="nome_utente" value="<?=$row["nome"]?>">
    <input type="hidden" name="cognome_utente" value="<?=$row["cognome"]?>">
    <input type="hidden" name="username_utente" value="<?=$row["username"]?>">
    <input type="hidden" name="password_utente" value="<?=$row["password"]?>">



    <input name="submit" type="submit" class="pulsante" value="aggiorna">
    </form>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Magari posta anche il resto del codice, in particolare dove generi questo array $row.
    Per quanto riguarda $_POST, quello è disponibile DOPO l'invio del form, non prima.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Non avevo postato il resto del codice perchè non serviva perchè funziona questa parte, comunque eccolo. Grazie :-)




    <?
    if ($pagina==1){

    $query_categoria="SELECT a_login.*, a_anagrafica.*


    FROM a_login

    INNER JOIN a_anagrafica
    ON a_login.id_anagrafica = a_anagrafica.id_anagrafica AND a_anagrafica.id_anagrafica > '3'


    WHERE a_login.id_login = '".$id."'";
    $result_categoria=mysqli_query($conn, $query_categoria) or die ("errore59 ".mysql_error());


    $row=mysqli_fetch_array($result_categoria, MYSQLI_ASSOC);
    }
    ?>
    Ultima modifica di prinzart; 30-05-2014 a 18:18

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    <?
    if ($pagina==2){


    if ($_POST["attivo"] == "no") {


    $sql = "UPDATE a_login


    SET attivo='no'


    WHERE a_login.id_login = '".$id."'";
    mysqli_query($conn, $sql) or die ("errore60 ".mysql_error());


    $URL="layer_ins_autorizza.php?id=$id&pagina=4";
    header ("Location: ".$URL);


    }


    elseif ($_POST["attivo"] == "si") {


    $sql = "UPDATE a_login


    SET attivo='si'


    WHERE a_login.id_login = '".$id."'";
    mysqli_query($conn, $sql) or die ("errore61 ".mysql_error());




    // INIZIO SCRIPT PHPMAILER


    require "../phpmailer/class.phpmailer.php";
    $messaggio = new PHPmailer();


    //intestazioni e corpo dell'email
    $messaggio->From= ''.$email_utente.'';
    $messaggio->FromName= ''.$nome_utente.' '.$cognome_utente.'';
    $messaggio->AddReplyTo(''.$email_utente.'');
    $messaggio->Subject="Autorizzazione iscrizione";


    $messaggio->AddBCC("formazioni@sito.it");
    $messaggio->AddAddress(''.$email_utente.'');


    $messaggio->Sender= ''.$email_utente.'';


    $messaggio->AddEmbeddedImage('/web/htdocs/www.sito.it/home/images/fondo_email.jpg', 'ciccio', 'fondo_email.jpg', 'base64', 'image/jpeg');


    //inseriamo i tag HTML e i CSS per formattare il messaggio
    $html_body = '
    <html>
    <head>
    <style>
    .testo1{text-align:right;color: #CF150E; FONT-FAMILY: Verdana; FONT-SIZE: 15px; TEXT-DECORATION: none; font-weight:bold}
    .testo2{text-align:right;color: #000000; FONT-FAMILY: Verdana; FONT-SIZE: 12px; TEXT-DECORATION: none; font-weight:bold}
    .testo3{text-align:right;color: #666666; FONT-FAMILY: Verdana; FONT-SIZE: 12px; TEXT-DECORATION: none; font-weight:bold}
    a.testo3:link {BACKGROUND: none; COLOR: #666666; FONT-SIZE: 12px; FONT-FAMILY: Verdana, Helvetica; TEXT-DECORATION: none; font-weight:bold}
    a.testo3:active {BACKGROUND: none; COLOR: #666666; FONT-SIZE: 12px; FONT-FAMILY: Verdana, Helvetica; TEXT-DECORATION: none; font-weight:bold}
    a.testo3:visited {BACKGROUND: none; COLOR: #666666; FONT-SIZE: 12px; FONT-FAMILY: Verdana, Helvetica; TEXT-DECORATION: none; font-weight:bold}
    a.testo3:hover {BACKGROUND: none; COLOR: #000000; FONT-SIZE: 12px; FONT-FAMILY: Verdana, Helvetica; TEXT-DECORATION: none; font-weight:bold}
    </style>
    </head>
    <body>


    <table width="700" height="10" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td align="right" background="http://www.sito.it/images/fondo_email.jpg">


    <table width="680" height="600" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="660" height="160">&nbsp;</td>
    <td width="20" rowspan="16">&nbsp;</td>
    </tr>
    <tr>
    <td height="50" align="right" class="testo1"><p>Complimenti '.$nome_utente.' '.$cognome_utente.'<br>
    sei stato autorizzato all\'accesso del sito!</p>
    <p>A seguire i dati di accesso:</p></td>
    </tr>
    <tr>
    <td height="5" align="right">&nbsp;</td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo2">username: '.$username_utente.'</td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo2">password: '.$password_utente.'</td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo2"> </td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo2"> </td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo2"> </td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo2"> </td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo2"> </td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo2"> </td>
    </tr>
    <tr>
    <td height="15" align="right"> </td>
    </tr>
    <tr>
    <td height="15" align="right" class="testo1">
    <a href="http://www.sito.it/registrazione_utente_login.php" class="testo1">per entrare clicca qui</a>
    </td>
    </tr>
    <tr>
    <td height="65" align="right">&nbsp;</td>
    </tr>
    <tr>
    <td height="10" align="right" class="testo3">
    Ora puoi entrare nella tua pagina personale, inserendo la tua username e la tua password.<br>
    <br>
    Ti aspettiamo sul sito <a href="http://www.sito.it" class="testo3">www.sito.it</a><br>
    Con i nostri migliori saluti, <br>Servizio Clienti
    </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    </tr>
    </table>


    </td>
    </tr>
    </table>


    </body>
    </html>
    ';


    //settiamo il metodo che indica alla classe
    //il formato HTML
    $messaggio->MsgHTML($html_body);


    $messaggio->AltBody="Per poter leggere correttamente questo messaggio è indispensabile che il tuo client di posta elettronica sia abilitato per l'html";




    //parte relativa all'invio
    if(!$messaggio->Send()){
    echo $messaggio->ErrorInfo;
    }else{
    echo '';
    }


    // FINE SCRIPT PHPMAILER




    $URL="layer_ins_autorizza.php?id=$id&pagina=3";
    header ("Location: ".$URL);




    }


    elseif ($_POST["attivo"] == "") {


    $URL="layer_ins_autorizza.php?id=$id&pagina=5";
    header ("Location: ".$URL);
    }




    }
    ?>

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Il secondo codice postato si trova nella stesso file dove c'è il form?
    In tal caso la prima volta che arrivi sulla pagina, $_POST non è definito, quindi non puoi usarlo, funzionerà solo dopo aver compilato ed inviato il form una prima volta.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Vorrei solo sapere in form UPDATE cosa ci deve andare scritto

    <input type="radio" name="attivo" value="no" <?php if ($row['attivo']=="no") { echo "CHECKED"; } ?>> no

    se metto $row['attivo'] mi visualizza il dato del db ma non me lo aggiorna

    se metto $_POST['attivo'] mi cambia il dato nel db ma non me lo visualizza


    io vorrei sia visualizzare il dato che aggiornarlo

  7. #7
    Quote Originariamente inviata da prinzart Visualizza il messaggio
    Vorrei solo sapere in form UPDATE cosa ci deve andare scritto

    <input type="radio" name="attivo" value="no" <?php if ($row['attivo']=="no") { echo "CHECKED"; } ?>> no

    se metto $row['attivo'] mi visualizza il dato del db ma non me lo aggiorna

    se metto $_POST['attivo'] mi cambia il dato nel db ma non me lo visualizza


    io vorrei sia visualizzare il dato che aggiornarlo
    Forse non ti è chiaro come funzionano le form in php:

    Fase 1) lo script viene chiamato SENZA nessun valore nel _POST, e quindi dovrebbe mostrare la maschera da riempire, magari prendendo i dati da db come fai tu in $row.

    Fase 2) lo script viene richiamato perchè si è fatto submit della form, e quindi i dati in arrivo sono in $_POSt e lo dovresti usare per salvare in db, dopidichè, se proprio vuoi puoi anche mostrare di nuovo la maschera...

    In altri termini:

    se post non è vuoto, usa i dati in post per creare la query di UPDATE e eseguila per salvarli; dopodichè, sia che post sia vuoto sia che sia pieno, fai una query select che ti legga i dati dal db e con questi crea la form; visto che lo farai dopo aver salvato i dati in arrivo in POST, quest'ultima query ti restituirà già i dati aggiornati.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

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.