Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208

    modifiche dati dopo il login

    vorrei che dopo che l'utente si è loggato

    oltre a far comparire i dati personali , possa tramite un form per ogni dato poter fare delle modifiche

    esempio

    Codice PHP:

    I tuoi dati sono 
     

    Nome utente: <?php echo $result['utente'?>
     
    Nome: <?php echo $result['nome'?>

    Regione: <?php echo $result['regione'?>
    a fianco a nome e a regione, vorrei che si sia un form su ognuno dove poter modificare i dati

    come si fa????

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,450
    E' sufficiente mettere un campo input di testo, un campo hidden contenente l'username dell'utente in questione (solo se non è già presente in sessione, in tal caso il campo hidden non serve) e un pulsante di submit.

    Il form per il nome lo fai puntare ad uno script e quello per la regione ad un altro, ma il comportamento sarà lo stesso per entrambi, ovvero:
    lo script riceve e legge il dato proveniente dal form e lo usa per effettuare una query sul db.

    Esempio per il nome utente, se vuoi cambiare il nome vero fai allo stesso modo, ma non serve l'aggiornamento della variabile di sessione
    Codice PHP:
    mysql_query("UPDATE tabella SET utente='" $_POST['nomenuovo'] . "' WHERE utente='" $_SESSION['utente'] . "'");

    if(
    mysql_affected_rows() > 0//l'update ha avuto successo
        
    $_SESSION['utente'] = $_POST['nomenuovo']; //aggiorno il nome utente in sessione 
    Per la regione
    Codice PHP:
    mysql_query("UPDATE tabella SET regione='" $_POST['nuovaregione'] . "' WHERE utente='" $_SESSION['utente'] . "'");

    if(
    mysql_affected_rows() > 0//l'update ha avuto successo
        
    echo "Regione modificata"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208
    questi 2 script che mi hai elencato li metto sotto a questo?

    Codice PHP:
    $query "SELECT * FROM nome_tabella WHERE utente='".$_SESSION['utente']."'"
    $result mysql_fetch_assoc(mysql_query($query)); 
    e se si, senza nulla o aggiungendoci else o if tra l'uno e l'altro script?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,450
    No, quei due script vanno per fatti loro, su due file a parte (anche uno se distingui cosa fare in base alla variabile che arriva).
    La query che hai scritto tu la fai per poi mostrare i dati dell'utente su una pagina.

    Nella pagina dove mostri i dati, da qualche parte, devi mettere 2 form, uno per il cambio del nome e uno per il cambio della regione, questi form devono puntare allo script corrispondente.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208
    va bene questo affianco a regione?

    Codice PHP:
       <form name="modifica regione" method="post" action="">
      <
    input name="modifica regione" type="text" />
      <
    input type="submit" value="modifica regione" /> 

    anche se secondo me su action dovrei aggiungerci la pagina php dove c'è lo script di elaborazione giusto?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,450
    Si, per i campi name però cerca di usare stringhe senza spazi.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208
    nella nuova pagina creata in cui c'è questo:

    Codice PHP:
     <?php mysql_query("UPDATE tabella SET regione='" $_POST['nuovaregione'] . "' WHERE utente='" $_SESSION['utente'] . "'"); 

    if(
    mysql_affected_rows() > 0//l'update ha avuto successo 
        
    echo "Regione modificata";
    ?>
    sopra ci devo inserire i dati per connettersi al database giusto?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,450
    Si.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208
    mi carica una pagina bianca quando invece vorrei che rimanesse nella stessa pagina (login_success.php) e con il dato modificato
    cosa ho sbagliato?

    il form è questo:
    Codice PHP:
     <form name="modifica_regione" method="post" action="modifiche_utenti/modifica_regione.php">
      <
    input name="modifica_regione" type="text" />
      <
    input type="submit" value="modifica_regione" />
      </
    label>
    </
    form
    modifica_regione.php è questo:
    Codice PHP:
    <?php
    $host
    =""// Host name 
    $username=""// Mysql username 
    $password=""// Mysql password 
    $db_name=""// Database name 
    $tbl_name=""// Table name 

    // Connect to server and select database
    mysql_connect("$host""$username""$password""$db_name")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");


    mysql_query("UPDATE tabella SET regione='" $_POST['modifica_regione'] . "' WHERE utente='" $_SESSION['utente'] . "'"); 

    if(
    mysql_affected_rows() > 0//l'update ha avuto successo 
        
    echo "Regione modificata";
        
        
    ?>
    ovviamente i dati del db in remoto nn li ho messi

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,450
    Se ti carica una pagina bianca mi sa che anche l'update fallisce, altrimenti ti scriverebbe "Regione moficata".

    Modifica l'ultima parte così:
    Codice PHP:
    $query "UPDATE tabella SET regione='" $_POST['modifica_regione'] . "' WHERE utente='" $_SESSION['utente'] . "'";
    mysql_query($query);

    if(
    mysql_affected_rows() > 0//l'update ha avuto successo 
        
    echo "Regione modificata"
    else {
        echo 
    "Update fallito
    "
        
    echo "Query: " $query "
    "
    ;
        echo 
    "errore: " mysql_error();


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 © 2024 vBulletin Solutions, Inc. All rights reserved.