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

    Aiuto per questo codice php per cambiare password!!!

    Ciao ho bisogno di aiuto credo di aver fatto casino e che questo codice php non sia in ordine per far cambiare password agli utenti del sito del mio amico, qualcuno può aiutarmi? e
    grazie!!! Ora vorrei mettere questo e non l'altro, l'altro topic ancora senza risposte,
    potete anche cancellarlo!!! Ecco il codice!!! Cmq todo credo sia nome del database che il mio è dbc!!!


    $todo=$_POST['todo'];
    $password=$_POST['password'];
    $password2=$_POST['password2'];


    if(isset($todo) and $todo=="change-password"){
    $password=mysql_real_escape_string($password);


    $status = "OK";
    $msg="";

    if ( strlen($password) < 3 or strlen($password) > 8 ){
    $msg=$msg."Password must be more than 3 char legth and maximum 8 char lenght
    ";
    $status= "NOTOK";}

    if ( $password <> $password2 ){
    $msg=$msg."Both passwords are not matching
    ";
    $status= "NOTOK";}


    if($status<>"OK"){
    echo "<font face='Verdana' size='2' color=red>$msg</font>
    <center><input type='button' value='Retry' onClick='history.go(-1)'></center>";
    }else{ // if all validations are passed.
    if(mysql_query("update plus_signup set password='$password' where userid='$session[userid]'")){
    echo "<font face='Verdana' size='2' ><center>Thanks
    Your password changed successfully. Please keep changing your password for better security</font></center>";
    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    194
    Ciao, non credo che TODO sia il nome del db ma una variabile che identifica cosa fare (to do = "fare" in inglese?), infatti dopo dichiara todo come "change-password" e controlla che sia setatto (isset).
    Manca la connessione al db (a meno che non ci sia altro codice nela pagina) ed al fondo è presente anche $session[userid]. C'è la session start all'inizio pagina?
    Mi sa che così come la presenti non è facile da spiegare.

    ciao

  3. #3
    Ciao all'inizio c'è questo

    <?php

    session_start();

    @require('include/config.php');

    ?>

    Cmq questo codice mi sa è da mettere in ordine!!!

  4. #4

  5. #5
    Ciao sì ma non va da questo errore

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\Inetpub\webs\feelmeit\manageme.php on line 142

    Your loginName and password do not match our records.

    Eccolo il codice

    <?php

    if (isset($_POST['submit'])) {
    // Handle the form.

    require_once ('databaseconnectinfo.php');
    // Connect to the db.

    // Create a function for escaping the data.
    function escape_data ($data) {
    global $dbc; // Need the connection.
    if (ini_get('magic_quotes_gpc')) {
    $data = stripslashes($data);
    }
    return mysql_real_escape_string($data, $dbc);
    }
    // End of function.

    $message = NULL; // Create an empty new variable.

    // Check for a loginName.
    if (empty($_POST['loginName'])) {
    $lo = FALSE;
    $message .= '

    You forgot to enter your Login Name!</p>';
    } else {
    $lo = escape_data($_POST['loginName']);
    }

    // Check for an existing password.
    if (empty($_POST['password'])) {
    $pa = FALSE;
    $message .= '

    You forgot to enter your existing password!</p>';
    } else {
    $pa = escape_data($_POST['password']);
    }

    // Check for a password and match against the confirmed password.
    if (empty($_POST['password1'])) {
    $npa = FALSE;
    $message .= '

    You forgot to enter your new password!</p>';
    } else {
    if ($_POST['password1'] == $_POST['password2']) {
    $npa = escape_data($_POST['password1']);
    } else {
    $npa = FALSE;
    $message .= '

    Your new password did not match the confirmed new password!</p>';
    }
    }

    if ($lo && $pa && $npa) { // If everything's OK.

    $query = "SELECT id FROM users WHERE (userid='$lo' AND password=PASSWORD('$pa') )";
    $result = @mysql_query ($query);
    $num = mysql_num_rows ($result);
    if ($num == 1) {
    $row = mysql_fetch_array($result, MYSQL_NUM);

    // Make the query.
    $query = "UPDATE users SET password=PASSWORD('$npa') WHERE id=$row[0]";
    $result = @mysql_query ($query); // Run the query.
    if (mysql_affected_rows() == 1) { // If it ran OK.

    // Send an email, if desired.
    echo '

    Your password has been changed.</p>';

    exit(); // Quit the script.

    } else { // If it did not run OK.
    $message = '

    Your password could not be changed due to a system error. We apologize for any inconvenience.</p>

    ' . mysql_error() . '</p>';
    }
    } else {
    $message = '

    Your loginName and password do not match our records.</p>';
    }
    mysql_close(); // Close the database connection.

    } else {
    $message .= '

    Please try again.</p>';
    }

    } // End of the main Submit conditional.

    // Print the error message if there is one.
    if (isset($message)) {
    echo '<font color="red">', $message, '</font>';
    }
    ?>

    Vedi al posto di tablename è ho messo il nome della tabella e loginName ho messo userid e l'altro ho lasciato password!!! E non va!!!

  6. #6
    devi utilizzare il tag [PHP] !!!!!!!!!!!!!

  7. #7
    Ciao ma dove all'inizio o dove? invece di <?php metto [PHP]??? E a quale codice a quello che ho postato ora?

  8. #8
    quando posti codice php qui sul forum utilizza il bbcode [PHP]

  9. #9
    Ciao ah ok capito cmq guarda ora ho fatto un altro codice

    Codice PHP:

    <?
          
    include("databaseconnectinfo.php");
          
    $iClientID       $_SESSION['clientid'];
          
    $oldPass      $_REQUEST['txtOldPass'];
          
    $newPass      $_REQUEST['txtNewPass'];
          
          
    $ans=funCheckOldpass($iClientID$oldPass);
          if(
    $ans==true)
          {
                if(
    strlen($newPass)>1)
                {            
                      
    $sql      "";
                      
    $sql      "UPDATE tbl_clients SET passwords='".$newPass."'
                                        WHERE clientid = '"
    .$iClientID."'";
                      
                      
    $res      mysql_query($sql);
                      if(
    $res)$str_err_msg      "[*]Password successfully changed.";
                }else{
                      
    $str_err_msg      "[*]New password is too small.";
                }
          }else{
                
    $str_err_msg      "[*]Unable to change the password.";
          }
          
    header("Location: profile.php?msg=$str_err_msg");
          
          
    ////////////////////////////////////////////////////////////////
          ////////////////////////////////////////////////////////////////
          
    function funCheckOldpass($iClientID$oldPass)
          {
                
    $myConn            dbConnect();
                if(
    $myConn==false)
                {
                      return 
    false;
                }
                
    $sql      "";
                
    $sql      ="SELECT passwords FROM tbl_clients
                                                    WHERE clientid = '"
    .$iClientID."'";
                
    $rec      mysql_query($sql);
                if(
    mysql_num_rows($rec)>0)
                {
                      if(
    mysql_result($rec,0,"passwords")==$oldPass)
                      {
                            return 
    true;
                      }else{
                            return 
    false;
                      }
                }else{
                      return 
    false;
                }
          }
    ?>
    E mi da questo errore non appare manco il form, Fatal error: Call to undefined function dbConnect() in D:\Inetpub\webs\feelmeit\manageme.php on line 119

    Come posso fare per risolvere? Ora voglio utilizzare proprio questo!!!

  10. #10
    1) include(""); ...??????????
    2) richiami variabili di sessione senza averla avviata
    3) richiami la funzione funCheckOldpass prima di averla creata
    4) richiami la funzione dbConnect(); senza averla creata o inclusa... e ovviamente esegui query senza esserti connesso!!
    5) crei messaggi di errore e poi fai un reindirizzamento con header()... a cosa serve crearli se nn li stampi??!
    6) $sql = ""; ...?? superfluo!!

    hai fatto pessimo e parziale copia e incolla... e poi (se non bastasse) ti sei messo a modificare senza sapere cosa facevi (peggiorando le cose)...

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.