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

    parse error in una funzione

    ciao a tutti, questo è il mio primo post in questa sezione

    ho scritto questa funzione:

    codice:
    function changeprofile(){
     global $user;
     if (MD5($_POST['passw']) == $user['passw']){
      if (trim($_POST['uname']) != '' and trim($_POST['name']) != '' and trim($_POST['surname']) != ''){
       $query = "UPDATE utenti SET name='$_POST['name']', 
    surname='$_POST['surname']', username='$_POST['uname']' WHERE id=$user['id']";
       if (mysql_query($query, $db)) echo "Cambio dati profilo effettuato
    ";
        else echo "Cambio dati profilo fallito a causa di un errore di connessione al database
    ";
       header("Refresh: 1;URL=index.php");
       auth_logout();
      }
      else echo 'Non hai compilato tutti i campi';
     } 
     else echo 'Non hai inserito la password o ne hai inserita una sbagliata'; 
    }
    che dovrebbe essere richiamata da un form (a proposito: è possibile richiamare funzioni nei form, no?) e permette, dopo aver controllato di aver inserito valori in tutti i campi del form e di aver inserito la password, di modificare il profilo di un utente registrato. Ottengo però un errore del genere:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'

    nella riga dove viene definita la query da inviare a mysql e non capisco perché.
    Amministratore mozillaitalia.org

    Le truppe sono state spiegate, ma chi sa perché io continuo a non capirle.

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    codice:
    $query = "UPDATE utenti SET name='".$_POST['name']."', 
    surname='".$_POST['surname']."', username='".$_POST['uname']."' WHERE id='".$user['id']."'";
    prova a scriverla così...

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    non cambia
    vi serve avere qualche info in più?
    Amministratore mozillaitalia.org

    Le truppe sono state spiegate, ma chi sa perché io continuo a non capirle.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    46
    codice:
    $query = "UPDATE utenti SET name='{$_POST['name']}', 
              surname='{$_POST['surname']}', 
              username='{$_POST['uname']}' 
              WHERE id={$user['id']}";
    hai fatto macello con gli apici... lui non capisce più cosa fa parte della variabile e cosa no. In sto caso si usa mettere le parentesi graffe intorno alla variabile.

    ciao
    Yuri

  5. #5
    grazie! è andata.
    ora però da lo stesso problema con questa riga:

    codice:
            $query = "UPDATE utenti SET password='{MD5($_POST['newpass1'])}' WHERE id={$user['id']}";
    ho provato ad usare il tuo suggerimento anche in questo caso come vedi ma non è cambiato nulla
    Amministratore mozillaitalia.org

    Le truppe sono state spiegate, ma chi sa perché io continuo a non capirle.

  6. #6
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    codice:
     $query = "UPDATE utenti SET password=MD5({$_POST['newpass1']}) WHERE id={$user['id']}";
    con le graffe devi isolare le variabili nn il contenuto negli apici.. md5 è na funzione mysql nn php

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  7. #7
    ah...

    della serie: ma questo ha studiato qualcosa prima di iniziare a programmare o no?

    comunque ora funziona tutto, grazie a tutti e due!!!
    Amministratore mozillaitalia.org

    Le truppe sono state spiegate, ma chi sa perché io continuo a non capirle.

  8. #8
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    no problema.. anzi scusa per prima ma quando stanno gli array in mezzo e gli apici singoli mi confondo sempre.. buone ste graffe...
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

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.