Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Update

  1. #1

    Update

    aiuto! sono alle prime armi con php e mysql. non riesco ad aggiornare i dati del form nel database. ci deve essere un errore nel richiamo della funzione aggiorna. chiedo a voi esperti. vi posto il codice:
    <?php


    session_start();


    function logoutform(){
    echo "<form action='index.php' method='POST' class='log'>
    <br>
    <input type='submit' name='logout' value='Logout'>
    </form>
    ";
    }


    function logout(){
    session_destroy();
    header('Location: /');
    }

    function aggiorna(){
    $aggiorna = mysql_query(" UPDATE utenti SET username = $username, password = $password, nome = $nome, cognome = $cognome, email = $email WHERE id = $user");
    }



    if (!isset($_SESSION['login'])){
    header('Location: /index.php');
    }


    $user = $_SESSION['id'];
    $con=mysql_connect('ip-database','nome','password') or die(mysql_error);
    mysql_select_db("nome",$con);
    $result=mysql_query("SELECT * FROM utenti WHERE id=$user") or die(mysql_error);
    $utente = mysql_fetch_array($result);


    $username = $utente['username'];
    $password = md5($utente['password']);
    $nome = $utente['nome'];
    $cognome = $utente['cognome'];
    $email = $utente['email'];
    $attivo = $utente['attivo'];


    $livello = $_SESSION['livello'];


    switch ($livello) {
    case 1:
    # code...
    break;

    case 2:
    echo "<form action='aggiorna()' method='GET' >
    <br>
    <label>Username: </label>
    <input type='text' name='username' autofocus='true' value='$username'>
    <br>
    <label>Password: </label>
    <input type='text' name='password' value='$password'>
    <br>
    <label>Cognome: </label>
    <input type='text' name='cognome' value='$cognome'>
    <br>
    <label>Nome: </label>
    <input type='text' name='nome' value='$nome'>
    <br>
    <label>Email: </label>
    <input type='text' name='email' value='$email'>
    <br>
    <input type='submit' name='mod' value='Aggiorna'>
    </form>
    ";
    break;

    default:
    # code...
    break;
    }


    logoutform();





    ?>

    inoltre una volta aggiornato vorrei ricaricasse la stessa pagina, GRAZIE
    www.fotoerubriche.net

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ma la funzione aggiorna() non la richiami mai nel codice che hai postato
    e hai scordato di mettere gli apici nei campi di tipo testo quando imposti la query che dovrebbe eseguire l'update

  3. #3
    grazie, come faccio a richiamare la funzione allora?
    www.fotoerubriche.net

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    username, password, nome, cognome... sono tutte stringhe nel db, quindi devi racchiudere tra apici i valori che vuoi assegnare

    $aggiorna = mysql_query(" UPDATE utenti SET username = '$username', password = '$password', nome = '$nome', cognome = '$cognome', email = '$email' WHERE id = $user");

    Quando posti codice php sul forum, mettilo dentro i tag [php] [ /php] (senza lo spazio tra [ e /) così si legge meglio (prima di postare visualizza l'anteprima e se necessario sistema l'indentazione del codice).

  5. #5
    ho messo gli apici ai campi testo, me ne ero accorto
    www.fotoerubriche.net

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Hai problemi anche con html oltre a php e mysql, l'action di un form deve richiamare uno script (pagina php) non una funzione come fai ora
    echo "<form action='aggiorna()' method='GET' >

    Il codice che hai scritto è totalmente sbagliato, non buttarti nella programmazione, prima bisogna STUDIARE

  7. #7
    la mia era una semplice domanda, so che si può richiamare una pagina. non mi butto nella programmazione, è solo hobby e passione, ci provo, grazie comunque
    www.fotoerubriche.net

  8. #8
    ok userò i tag la [php] la prossima volta
    www.fotoerubriche.net

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Quote Originariamente inviata da perronemario Visualizza il messaggio
    la mia era una semplice domanda, so che si può richiamare una pagina. non mi butto nella programmazione, è solo hobby e passione, ci provo, grazie comunque
    Appunto, questo vuol dire "buttarsi".
    Anche per gli hobby bisogna studiare se lo richiedono e la programmazione è un hobby che lo richiede, non puoi scrivere codice, magari prendendo pezzi in giro e mettendoli insieme, senza sapere cosa stai facendo.

    L'action di un form non è che può chiamare una pagina, deve chiamare una pagina php (in questo caso) che contiene il codice per recuperare ed elaborare i dati del form.

    Leggi nell'ordine con attenzione le seguenti guide e dopo avrelo fatto vedrai che saprai rispondere alle domande che hai posto in questa discussione.
    http://www.html.it/guide/guida-html/
    http://www.html.it/guide/guida-php-di-base/
    http://www.html.it/guide/guida-php-e-mysql-pratica/

  10. #10
    hai ragione, seguirò i consigli, grazie
    www.fotoerubriche.net

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.