Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    php non scrive su mysql

    salve ragazzi, innanzitutto piacere di conoscervi, sono una new entry

    vorrei presentarvi il mio problema:


    io ho una zona riservata in flash con interazione in php e scrittura su database mysql
    è un file che ho scaricato

    ho creato il database, uploadato i file e tutto bene, accedo come amministratore e tutto ok ancora

    se però all' interno della zona di amministrazione voglio aggiungere un utente, non mi da messaggi d' errore ma non lo crea, se invece creo nella tabella mysql l' utente, questo viene visto perfettamente

    il secondo problema, sempre simile è che la registrazione degli utenti non funziona, i dati inseriti nel form non danno errori ma l' utente non viene inserito nella tabella mysql

    vi posto il link con i dati di accesso

    http://www.nitrodesign.it/manag/index.html

    accesso admin:
    user: admin
    pass: samsung

    se avete bisogno vi posso allegare anche uno zip con i file!

    spero che qualcuno di voi mi possa illuminare, io immagino sia un problema di scrittura, i permessi delle cartelle comunque li ho gia settati su 777


    grazie raga!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    34
    Quando esegui la query per aggiungere l'utente (INSERT into...) hai aggiunto

    Codice PHP:
    or die("impossibile aggiungere l'utente"); 
    ?

    Perchè se così fosse non credo sia un problema di php (perchè nell'esempio che ho fatto io, se qualcosa va storto dovrebbe apparire "impossibile aggiungere l'utente")

    se invece non l'hai aggiunto (dovresti aggiungerlo qui "$result = mysql_query($query) or die("impossibile aggiungere l'utente");"... ovviamento credo da te non si chiami $result) aggiungilo e vedi se ti da errore. se te lo da già è un passo avanti... almeno sai di che errore si tratta

  3. #3
    ciao Mauri grazie della risposta, allora quello l ho gia inserito

    Codice PHP:
    $result mysql_query$query ) or die ("didn't query"); 
    ti inserisco il file php che riguarda il login utente cosi se riesci puoi vedere meglio


    grazie mille intanto


    Codice PHP:
    <? include ("../database_config.php"); 
    $user=$_POST['user']; 
    $pass=$_POST['pass']; 
    $mode $_GET['mode']; 
     if (
    $user && $pass){     
    mysql_pconnect($mysql_server,$mysql_user,$mysql_pass) or die ("didn't connect to mysql");     
    mysql_select_db($mysql_db) or die ("no database");     
    $query "SELECT * FROM fadmin_login WHERE username = '$user' AND password = '$pass'";     
    $query2 "SELECT * FROM fadmin_login WHERE userapr = 'pending'";     
    $result mysql_query$query ) or die ("didn't query");     
    $result2 mysql_query$query2 ) or die ("didn't query"); 
        
    $num mysql_num_rows$result ); 
        
    $numofpending mysql_num_rows$result2 ); 
        
    $row mysql_fetch_array ($result); 
        if (
    $num == 1){     
        print 
    "&checklog=1&currentuser=".$row['realname']."&userstatus=".$row['userstate']."&currentusername=".$row['username']."&fadminpath=".$sitepath."&userapr=".$row['userapr']."&numofpending=".$numofpending."";     
    } else {         
    print 
    "status=Sorry,rong username and password!&checklog=2";     
    }; }; 
     if(
    $mode =='reguser'){     $usermail $_GET['usermail']; 
        
    $username $_GET['username'];     mysql_pconnect($mysql_server,$mysql_user,$mysql_pass) or die ("didn't connect to mysql");     
    mysql_select_db($mysql_db) or die ("no database"); 
        
    $query "SELECT * FROM fadmin_login WHERE username = '$username' OR usermail = '$usermail' OR usermail = '$sitemail'"
        
    $result mysql_query$query ) or die ("didn't query"); 
        
    $num mysql_num_rows$result ); 
        
    $row mysql_fetch_array ($result); 
        if (
    $num >= 1){     
        if(
    $username == $row['username']){     
            print 
    "status=Username already exists";     
        }else{         
        print 
    "status=E-mail already exists";     
        };     }else{     
        
    $realname $_GET['realname'];         $usermail $_GET['usermail'];         $username $_GET['username'];         $userstatus $_GET['userstatus'];         $userpass $_GET['userpass'];         $verification $_GET['verification'];         mysql_query("INSERT INTO fadmin_login SET  username = '$username', realname = '$realname', usermail = '$usermail', userstate = '$userstatus', password = '$userpass', verification = '$verification', userapr = 'pending'"); 
            print 
    "status=Welcome"
            
    $subject '['.$sitename.'] Welcome to '.$sitename;     
        
    $to $usermail;     
        
    $messageToBeSend '<html><head></head><body>Congratulations '.$realname.' on creating your new  '.$sitename.' account
    Please keep this email for your records, as it contains an         
    important verification code that you may need should you ever encounter problems or forget your password.

    You can login to your account <a href="'
    .$sitepath.'">HERE<a/>

     
            Username: '
    .$username.'
     
            Password: '
    .$userpass.'
         
        Verification code: '
    .$verification.'

    The '
    .$sitename.' Team         
    </body></html>'
    ;     
        
    $headers  'MIME-Version: 1.0' "\r\n";         
    $headers .= 'Content-type: text/html; charset=utf-8' "\r\n";     
        
    $headers .= "From: ".$sitemail"\r\n".'Reply-To: '.$sitemail."\r\n".'X-Mailer: PHP/'.phpversion();         
    $status mail($to$subject$messageToBeSend$headers);  
        }; };  if(
    $mode =='forgotpass'){     $usermail $_GET['usermail']; 
        
    $verification $_GET['verification'];     mysql_pconnect($mysql_server,$mysql_user,$mysql_pass) or die ("didn't connect to mysql");     
    mysql_select_db($mysql_db) or die ("no database");     
    $query "SELECT * FROM fadmin_login WHERE verification = '$verification' AND usermail = '$usermail'";     
    $result mysql_query$query ) or die ("didn't query"); 
        
    $num mysql_num_rows$result );     
    $row mysql_fetch_array ($result); 
        if (
    $num == 1){     
        
    $subject '['.$sitename.'] - password retrieve'
            
    $to $usermail;     
        
    $messageToBeSend '<html><head></head><body>Someone, hopefully you are requested password retrieve<br/ >
             
    Your password is: '
    .$row['password'].'         


    The '
    .$sitename.' Team         
    </body></html>'
    ;         
    $headers  'MIME-Version: 1.0' "\r\n";     
        
    $headers .= 'Content-type: text/html; charset=utf-8' "\r\n"
            
    $headers .= "From: ".$sitemail"\r\n".'Reply-To: '.$sitemail."\r\n".'X-Mailer: PHP/'.phpversion();     
        
    $status mail($to$subject$messageToBeSend$headers);      
        print 
    "status=Done"
        }else{     
        print 
    "status=Sorry no match";     
    }; }; 
    ?>
    forza e coraggio......

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    34
    Non vorrei sbagliarmi, ma credo che l'errore sia qui

    Codice PHP:
    '$verification'userapr 'pending'" 
    pending non è una variabile.

    Modifico perchè ho sbagliato tutto... pensavo che quel pending lo volessi prendere da un'altra tabella... a cosa si riferisce?

    cmq il punto è che invece di userapr = 'pending' devi mettere userapr = '$pending'

    e prima devi dichiarare

    $pending = a quello che dovrebbe essere;

  5. #5
    non funziona comunque cavoli.....
    forza e coraggio......

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    34
    allora... prova così, sostituisci:

    Codice PHP:
    mysql_query("INSERT INTO fadmin_login SET  username = '$username', realname = '$realname', usermail = '$usermail', userstate = '$userstatus', password = '$userpass', verification = '$verification', userapr = '$pending'"); 
    con

    Codice PHP:
    $query "INSERT INTO fadmin_login(username, realname, usermail, userstate, password, verification, userapr) VALUES ('$username', '$realname', '$usermail', '$userstatus', '$userpass', '$verification', '$pending')";
    $result mysql_query($query) or die("impossibile creare utente"); 
    Se ti scrive "impossibile creare utente" vuol dire che c'è un errore con la query

  7. #7
    Grazie per le risposte sei davvero gentilissimo

    Appena riesco provo ad applicare la modifica che mi hai detto
    e poi ti faccio sapere

    intanto grazie ancora per l attenzione spero di riuscire a modificare lo script il prima possibile così ti faccio sapere
    forza e coraggio......

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    34
    figurati... comunque, se ti apparirà il messaggio:

    "impossibile creare utente"
    Significa al 100% che l'errore si trova in questa riga (o che comunque ne è coinvolta):

    Codice PHP:
    $query "INSERT INTO fadmin_login(username, realname, usermail, userstate, password, verification, userapr) VALUES ('$username', '$realname', '$usermail', '$userstatus', '$userpass', '$verification', '$pending')"

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    in or die fatti restituire l'errore mysql

    Codice PHP:
    or die (mysql_error()." impossibile inserire utente") ; 
    una domandina veloce,sei sicuro che tutti i campi inseriti siano di tipo text o varchar o che comunque vogliono tutti le virgolette?

    perchè se ad esempio uno dei campi è int e lo inserisci tra virgolette dovrebbe dare errore

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    Io ti consiglierei di stampare gli errori a video magari facendo una funzione
    tipo


    Codice PHP:
    define ('SQL_DEBUG' true);

    function 
    executeQuery ($query $error ) {
        
    $result mysql_query($query); 
        if (
    mysql_errno()) {
             if (
    SQL_DEBUG) {
             echo 
    'Errore mysql('.mysql_errno().') :'.mysql_error().'
    '
    .
                    
    'nella query : '.$query;
             } else {
                echo 
    $error;
             }
             exit;
        }
        return 
    $result;


    poi la utilizzi nel tuo codice

    Codice PHP:
    .
    .
    .
    $query "SELECT * FROM fadmin_login WHERE username = '$user' AND password = '$pass'";      
    $query2 "SELECT * FROM fadmin_login WHERE userapr = 'pending'"
         
    $result executeQuery($query "didn't query" ); //$result = mysql_query( $query ) or die ("didn't query");      
    $result2 executeQuery($query2 "didn't query" ); //$result2 = mysql_query( $query2 ) or die ("didn't query");

    .
    .


    Almeno cosi hai indicazioni precise su cosa non va.
    quando tutto funziona metti false come valore della define di debug cosi non ti stampa piu a video le query ma la stringa che gli passi come 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 © 2025 vBulletin Solutions, Inc. All rights reserved.