Visualizzazione risultati 1 fino 6 di 6

Discussione: Modifica della mail in un database

  1. #1
    Guest

    Predefinito Modifica della mail in un database

    Salve ho realizzato (in parte di mente mia e in parte da script già trovati su internet) questo form che mi DOVREBBE cambiare la mail che c'è nel db. Ho una tabella utenti con "id" (AUTO_INCREMENT), "user", "pass", "mail" ; Quando effettuo il login la sessione memorizza l'id.

    Codice PHP:
    <?php
    //Mi connetto al DataBase
    $db = mysql_connect($localhost, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri di login");
    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri inseriti");

    // Se non è stata definita la variabile manda l'utente alla homepage
    if(!isset($_SESSION['login']))
    {
    header('Location: login.php');
    exit;
    }

    $new_mail = $_POST['new_mail']; //Imposto la variabile del form per l'inserimento della nuova mail
    $id = $_SESSION['login'][0] //Imposto la variabile dell'"id" (AUTO_INCREMENT) registrata precedentemente in una sessione

    //Eseguo l'update della nuova mail
    $query = "UPDATE utenti SET mail='$new_mail' WHERE id='$id'";

    //Controllo l'avvenuto UPDATE
    if (mysql_query($query, $db))
    echo
    "La mail è stata modificata correttamente";
    else
    echo
    "Erorre durante l'UPDATE";
    mysql_close($db); endif;
    ?>

    <html>
    <head>
    <title>Form modifica mail</title>
    </head>
    <body>
    <form method="post" action="">
    <b>Inserisci la nuova mail</b><br>
    <input type="text" name="new_mail" />
    <input type="submit" value="Change" />
    </form>
    </body>
    </html>
    Il bello è che mi da problema proprio alla riga dove c'è l'UPDATE

    Codice PHP:
    $query = "UPDATE utenti SET mail='$new_mail' WHERE id='$id'";
    Il problema è questo:
    Codice:
    Parse error: syntax error, unexpected T_VARIABLE in /membri/colore123/update_mail.php on line 20
    Suggerimenti?

    Grazie in anticipo!!! :)
    Ultima modifica di andreafallico : 06-04-2012 alle ore 17.16.54

  2. #2
    Guest

    Predefinito

    Il problema sembrerebbe nella riga sopra che non chiusa con il punto e virgola.

    Codice PHP:
    $id = $_SESSION['login'][0]
    modificala in

    Codice PHP:
    $id = $_SESSION['login'][0];

  3. #3
    Guest

    Predefinito

    Si ma adesso il problema è a questa linea


    mysql_close($db); endif;

    Parse error: syntax error, unexpected T_ENDIF in /membri/colore123/update_mail.php on line 25

    ----------------

    L'ho eliminata e non mi da più errore ma quando apro la pagina mi esce da subito scritto "Errore durante l'update"... dovrei separare il form e l'action?
    Ultima modifica di andreafallico : 06-04-2012 alle ore 18.17.03 Motivo: usa il tasto Edita

  4. #4
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Modifica queste righe in questo modo.
    Codice PHP:
    if (mysql_query($query, $db)){
    echo
    "La mail è stata modificata correttamente";
    }else{
    echo
    "Erorre durante l'UPDATE";
    mysql_close($db);
    }

  5. #5
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da colore123 Visualizza messaggio
    L'ho eliminata e non mi da più errore ma quando apro la pagina mi esce da subito scritto "Errore durante l'update"... dovrei separare il form e l'action?
    Codice PHP:
    <?php
    if(isset($_POST['submit'])){
    //Mi connetto al DataBase
    $db = mysql_connect($localhost, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri di login");
    mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri inseriti");

    // Se non è stata definita la variabile manda l'utente alla homepage
    if(!isset($_SESSION['login']))
    {
    header('Location: login.php');
    exit;
    }

    $new_mail = $_POST['new_mail']; //Imposto la variabile del form per l'inserimento della nuova mail
    $id = $_SESSION['login'][0]; //Imposto la variabile dell'"id" (AUTO_INCREMENT) registrata precedentemente in una sessione

    //Eseguo l'update della nuova mail
    $query = "UPDATE utenti SET mail='$new_mail' WHERE id='$id'";

    //Controllo l'avvenuto UPDATE
    if (mysql_query($query, $db))
    echo
    "La mail è stata modificata correttamente";
    else
    echo
    "Erorre durante l'UPDATE";
    mysql_close($db);
    }
    ?>

    <html>
    <head>
    <title>Form modifica mail</title>
    </head>
    <body>
    <form method="post" action="">
    <b>Inserisci la nuova mail</b><br>
    <input type="text" name="new_mail" />
    <input type="submit" name="submit" value="Change" />
    </form>
    </body>
    </html>
    Ultima modifica di andreafallico : 06-04-2012 alle ore 18.17.52

  6. #6
    Guest

    Predefinito

    Mi da comunque gia l'errore appena apro la pagina "Errore durante l'update"

Regole di scrittura

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