Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    problema con aggiornamento sessione e submit

    Ciao a tutti,

    ho un piccolo problema con un form per aggiornare un form. Ricevo delle variabili in sessione tra cui l'email, l'utente in questa pagina (che ho ridotto al minimo per farvi vedere l'esempio) aggiorna la propria mail, fatto questo faccio aggiornare la sessione con la nuova mail. Il problema è che se clicco sulla submit anche se ho messo il controllo del campo vuoto mi aggiorna la sessione e mette vuoto e non capisco come mai.. posto il codice

    Codice PHP:
    <?php
    session_start
    ();
    require_once(
    'config.php');
    require_once(
    'db_vars.inc');
    ?>



    <?php
    $user_email
    =$_POST['user_email'];
    if( isset(
    $_POST['submit']) && (trim($_POST['submit']) == "Modifica indirizzo email") ) { 
                                                                                
        if(
    $_POST['user_email'] == "")
        {
            echo 
    "Attenzione, email vuota.";
        }
    elseif((!isset(
    $_POST['user_email'])) || (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$"$user_email)))
    {
      echo 
    "Attenzione, formato email non valido.";
    }
    else{
        
    $update=mysql_query("update tbl_users SET user_email='$user_email' WHERE user_id='$_SESSION[user_id]'");
        
    $_SESSION['user_email'] = $user_email;
        }
    }
    ?>

    <form action="<?php print $_SERVER['PHP_SELF']?>" method="post">


    <div>
    <input type="text" name="user_email">



    <input type="submit" value="Modifica indirizzo email">
    </div>

    </form>

    <?php echo $_SESSION['user_email']; ?>

  2. #2
    Fatti degli echo per vedere dove sta il problema
    Codice PHP:
    <?php 
    $user_email
    =$_POST['user_email']; 
    echo 
    $user_email.'

    '
    ;
    if( isset(
    $_POST['submit']) && (trim($_POST['submit']) == "Modifica indirizzo email") ) { 
                                                                                 
        if(
    $_POST['user_email'] == ""
        { 
            echo 
    "Attenzione, email vuota."
        } 
    elseif((!isset(
    $_POST['user_email'])) || (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$"$user_email))) 

      echo 
    "Attenzione, formato email non valido."

    else{ 
        
    $update=mysql_query("update tbl_users SET user_email='$user_email' WHERE user_id='$_SESSION[user_id]'"); 
    echo 
    'qui arrivi????';
        
    $_SESSION['user_email'] = $user_email
        } 

    ?>
    Vedi se il problema sta nel settare la variabile o perchè non ti arriva l'email

  3. #3
    si funziona tranquillamente... il problema sorge se il campo è vuoto e faccio la submit, mi dice che il campo è vuoto

    Codice PHP:
    if($_POST['user_email'] == "")
        {
            echo 
    "Attenzione, email vuota.";
        } 
    ma nello stesso tempo mi aggiorna la variabile di sessione mettendo vuoto... non capisco perchè!!

  4. #4
    stampati $_SESSION['user_email'] prima e dopo la condizione if e vedi se cambia..

  5. #5
    idem.... fatto mi recupera la variabile che è in sessione se non faccio nulla ma appena faccio la sumbit, anche vuota, mi cambia la variabile

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.