Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    mysql_query("UPDATE... non funziona!

    ciao a tutti, dovrei modificare dei record all'interno di una tabella, ho questo codice ma non funziona! dov'è l'errore?
    Codice PHP:
    <?php
    include "../check1.php";
    if (
    $autorizzato=="1"){
      echo 
    "Bentornato [b]$nome_utente[/b]. Qui puoi vedere i contenuti per gli utenti registrati
    "
    ;
    $result mysql_query("SELECT *
    FROM `utenti`
    WHERE `nick` ='
    $nick_utente_cookie'
    AND `pass` =  '
    $password_utente_cookie'
    LIMIT 0 , 1"
    );
    while (
    $row mysql_fetch_object($result)) {

    echo 
    "id:$row->id
    "
    ;
    mysql_query("update utenti set vero_nome='$old_vero_nome' where id=$row->id");

        }
    }
    else
    {
      echo 
    "Spiacente ma tu non hai i permessi per accedere a questa sezione . <a href=/login.php>Effettua il 

    login</a>"
    ;  
    }
    ?>

  2. #2
    Non si vede come e dove recuperi i valori che passi nella query.

    Qualche incongruenza c'e', tipo il limit 0,1 e poi un ciclo while....

    Stampa le queries e vedi come sono risolte le variabili. Metti anche la segnalazione di errore.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    ecco le due pagine

    la prima, e quella che consente all'utente di cambiare x esempio l'email fornita al momento della registrazione. questo è il codice:
    Codice PHP:
    <?php
    include "../check1.php";
    if (
    $autorizzato=="1"){


    $result mysql_query("SELECT *
    FROM `utenti`
    WHERE `nick` ='
    $nick_utente_cookie'
    AND `pass` =  '
    $password_utente_cookie'
    LIMIT 0 , 1"
    );
    while (
    $data=mysql_fetch_object($result)) // ciclo di lettura dei record (riga di dati)
        
    {
        
    $oldemail=$data->email;
        }

      echo 
    "<html>

    <head>
    <meta http-equiv='Content-Language' content='it'>
    <meta name='GENERATOR' content='Microsoft FrontPage 5.0'>

    </head>
        <p align='center'>[b]<font face='Arial' size='2' color='#F5AA0E'>Gestione 
        profilo</font>[/b]</td>
      </tr>
      <tr>
        <td width='100%' bgcolor='#FFFFFF'>
        <p align='center'><font face='Arial' size='2'>benvenuto 
    $nome_utente, da 
        questa pagina potrai aggiornare o modificare le tue informazioni personali.</font></td>
      </tr>
      <tr>
        <td width='100%' bgcolor='#FFFFFF'>
        </td>
      </tr>
      <tr>
        <td width='100%' bgcolor='#FFFFFF'>
        <[B]form method='POST' action='update_profilo.php'[/B] >
          <p align='center'>email:
          <input type='text' [B]name='nuovoemail' size='20' value='
    $oldemail'[/B] ></p>
          <p align='center'>

          <input type='submit' value='Invia' name='B1'><input type='reset' value='Reimposta' name='B2'></p>
        </form>
        

    </td>
      </tr>
      <tr>
        <td width='100%' bgcolor='#FFFFFF'>
        </td>
      </tr>
      </table>

    </body>

    </html>"
    ;
    }
    else
    {
      echo 
    Non puoi accerede a questa pagina direttamente!";
    include 'footer.htm';
    Echo "
    <meta http-equiv=\"Refresh\" content=\"3; URL=login.ph"
     }
    ?>
    poi.. il file che riceve le info: update_profilo.php
    Codice PHP:
    <?php
    include "../check1.php";
    if (
    $autorizzato=="1"){
      echo 
    "Bentornato [b]$nome_utente[/b]. Qui puoi vedere i contenuti per gli utenti registrati
    "
    ;
    $result mysql_query("SELECT *
    FROM `utenti`
    WHERE `nick` ='
    $nick_utente_cookie'
    AND `pass` =  '
    $password_utente_cookie'
    LIMIT 0 , 1"
    );

    while (
    $data=mysql_fetch_object($result)) // ciclo di lettura dei record (riga di dati)
        
    {
        
    $id=$data->id;
        
    $oldemail=$data->email;
        }    

    $sql="UPDATE utenti set email='$oldemail' where WHERE id=$id";

    echo 
    "id: $id
    "
    ;

    echo 
    "email: $oldemail
    "
    ;
    }

    else
    {
      echo 
    "Spiacente ma tu non hai i permessi per accedere a questa sezione . <a href=/login.php>Effettua il login</a>";  
    }
    ?>
    una volta che si inviano i risultati, lo script restituisce questo:

    Bentornato pippo. Qui puoi vedere i contenuti per gli utenti registrati
    id: 5
    email: pippo@libero.it


    ma non cambia l'email!!

  4. #4
    non si capisce lo stesso. Sara' nel file che includi....

    Se metti limit 0,1 di liste non ne fai proprio. Ne vedi uno e basta.

    Ma che vuol dire "non cambia email"????

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    non cambia l'email vuol dire che non aggiorna la vecchia, contenuta nel primo file.
    ma nn solo... ho provato a vedere se nel file update_profilo.php la scrive....
    echo "email: $oldemail
    ";

    e non la riporta! come se dal file gestione_profilo.php non passasse l'informazione!

    aiuto spero di essere stata un po più chiara... :berto:

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    inoltre ho provato anche a togliere LIMIT 0 , 1 ma non cambia nulla...

  7. #7
    Originariamente inviato da Gina
    non cambia l'email vuol dire che non aggiorna la vecchia, contenuta nel primo file.
    ma nn solo... ho provato a vedere se nel file update_profilo.php la scrive....
    echo "email: $oldemail
    ";

    e non la riporta! come se dal file gestione_profilo.php non passasse l'informazione!

    aiuto spero di essere stata un po più chiara... :berto:
    il valore che cerchi e' in $_POST['nuovoemail']

    in $oldemail c'e' il vecchio valore e non e' il nome della variabile che passi con POST....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    in $oldemail c'e' il vecchio valore e non e' il nome della variabile che passi con POST....

    ok, appunto, e perchè $oldmail non viene aggiornato quando faccio
    $sql="UPDATE utenti set email='$oldemail' where WHERE id=$id"; ????

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    dimenticavo.. il file che includo è il seguente:
    Codice PHP:
    <?php
    include "config.php";
    include 
    "funzioni.php";
    $DB = new DB();
    $DB->connect();
    session_start();
    $parti explode("@@",$_COOKIE[login]);
    $nick_utente_cookie =  $parti[0];
    $password_utente_cookie $parti[1];
    $verifico_user1 mysql_query("SELECT *
    FROM `utenti`
    WHERE `nick` ='
    $nick_utente_cookie'
    AND `pass` =  '
    $password_utente_cookie'
    LIMIT 0 , 1"
    );
    $ok mysql_num_rows($verifico_user1);
    $_SESSION[autorizzato] = $ok;
    $autorizzato $_SESSION[autorizzato];
    $_SESSION[nome_utente]= $nick_utente_cookie;
    $nome_utente $_SESSION[nome_utente];
    $_SESSION[vero_nome]= $vero_nome_cookie;
    $vero_nome $_SESSION[vero_nome];

  10. #10
    Originariamente inviato da Gina
    in $oldemail c'e' il vecchio valore e non e' il nome della variabile che passi con POST....

    ok, appunto, e perchè $oldmail non viene aggiornato quando faccio
    $sql="UPDATE utenti set email='$oldemail' where WHERE id=$id"; ????
    perche' il valore che passi dal form si trova in $_POST['nuovoemail']

    $sql="UPDATE utenti set email = '$_POST[nuovoemail]' WHERE id=$id";

    e non mi dire che lavori con le register_globals in ON ....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.