Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 51
  1. #1

    Aiuto per questo codice PHP non ne vuole sapere!!!

    Ciao questo è il codice PHP di cui chiedo bisogno di aiuto ecco

    Codice PHP:
    <?php

    /**in questa parte dello script creaiamo tre variabili $lo $pa $npd*/
    /**ognuna attesta la correttezza della procedura*/

    if (isset($_POST['submit']))
    {
    require_once (
    'databaseconnectinfo.php');

    /**funzione per filtrare i dati da inserire*/
    function escape_data ($data)
    {
    global 
    $dbc;
    if (
    ini_get('magic_quotes_gpc'))
    {
    $data stripslashes($data);
    }
    return 
    mysql_real_escape_string($data$dbc);
    }

    $message NULL;

    /**verifichiamo l'esistenza del loginName altrimenti $lo è FALSE*/

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

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

    /**verifichiamo l'esistenza della password (vecchia password) altrimenti $pa è FALSE*/

    if (empty($_POST['password']))
    {
    $pa FALSE;
    $message .= '

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

    /**verifichiamo l'esistenza del password1 (nuova password) altrimenti $nps è FALSE*/
    /**verifichiamo che password1 coincide con password2 (conferma password) altrimenti $nps è FALSE*/

    if (empty($_POST['password1']))
    {
    $npa FALSE;
    $message .= '

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

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

    /**se tutte e tre le variabili sono ok facciamo la query*/
    /**individuiamo l'id del record da modificare*/
    /**se è ==1 facciamo la query di update*/

    if ($lo && $pa && $npa)
    {
    $query "SELECT id FROM users WHERE (username='$lo' AND password=PASSWORD('$pa') )";
    $result mysql_query ($query) or die (mysql_error());
    $num mysql_num_rows ($result);
    if (
    $num == 1)
    {
    $row mysql_fetch_array($resultMYSQL_NUM);
    $query "UPDATE users SET password=PASSWORD('$npa') WHERE id=$row[0]";
    $result mysql_query ($query) or die (mysql_error());
    if (
    mysql_affected_rows() == 1)
    {
    echo 
    '

    [b]Your password has been changed.[/b]</p>'
    ;
    exit();
    }
    else
    {
    $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();
    }
    else
    {
    $message .= '

    Please try again.</p>'
    ;
    }

    }

    /**stampa del messaggio risultante dalla procedura*/
    if (isset($message))
    {
    echo 
    '<font color="red">'$message'</font>';
    }
    ?>
    Voglio assolutamente corregere questo, mi dice queso in rosso invece di dire di cambiare password!!!

    You forgot to enter your Login Name!

    Your new password did not match the confirmed new password!

    Please try again.

    Per favore non mi chiudete il post, vorrei correggere questo grazie, a chi saprà darmi una mano!!!

    E questo è il form

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




    [b]<font face="Times New Roman" color="green">Login Name: <input type="text" name="login" size="10" maxlength="20" value="<?php if (isset($_POST['loginName'])) echo $_POST['loginName'];?>" /></p>



    [b]<font face="Times New Roman" color="green">Current Password: <input type="password" name="password" size="20" maxlength="20" /></p>



    [b]<font face="Times New Roman" color="green">New Password: <input type="password" name="password1" size="20" maxlength="20" /></p>



    [b]<font face="Times New Roman" color="green">Confirm New Password: <input type="password" name="password2" size="20" maxlength="20" /></p>


    <div align="center"><input type="submit" name="submit" value="Changeme" /></div>

    </form>

    Ormai è troppo tempo che ci sto, vorrei finirlo ora, non so cos'altro ci sia che non va!!!

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230

    Re: Aiuto per questo codice PHP non ne vuole sapere!!!

    Originariamente inviato da wolverinex3


    if (empty($_POST['loginName']))

    ........



    [b]<font face="Times New Roman" color="green">Login Name: <input type="text" name="login" size="10" maxlength="20" value="<?php if (isset($_POST['loginName'])) echo $_POST['loginName'];?>" /></p>

  3. #3
    diciamo che di misteri non ce ne sono:

    chiami il campo name="login" e poi cerchi $_POST['loginName']

    confronti:
    if ($_POST['password1'] == $_SESSION['password2'])

    ma quando hai valorizzato il $_SESSION???

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

  4. #4
    Ciao ecco ora

    Codice PHP:
    <?php

    /**in questa parte dello script creaiamo tre variabili $lo $pa $npd*/
    /**ognuna attesta la correttezza della procedura*/

    if (isset($_POST['submit']))
    {
    require_once (
    'databaseconnectinfo.php');

    /**funzione per filtrare i dati da inserire*/
    function escape_data ($data)
    {
    global 
    $dbc;
    if (
    ini_get('magic_quotes_gpc'))
    {
    $data stripslashes($data);
    }
    return 
    mysql_real_escape_string($data$dbc);
    }

    $message NULL;

    /**verifichiamo l'esistenza del loginName altrimenti $lo è FALSE*/

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

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

    /**verifichiamo l'esistenza della password (vecchia password) altrimenti $pa è FALSE*/

    if (empty($_POST['password']))
    {
    $pa FALSE;
    $message .= '

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

    /**verifichiamo l'esistenza del password1 (nuova password) altrimenti $nps è FALSE*/
    /**verifichiamo che password1 coincide con password2 (conferma password) altrimenti $nps è FALSE*/

    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>'
    ;
    }
    }

    /**se tutte e tre le variabili sono ok facciamo la query*/
    /**individuiamo l'id del record da modificare*/
    /**se è ==1 facciamo la query di update*/

    if ($lo && $pa && $npa)
    {
    $query "SELECT id FROM users WHERE (username='$lo' AND password=PASSWORD('$pa') )";
    $result mysql_query ($query) or die (mysql_error());
    $num mysql_num_rows ($result);
    if (
    $num == 1)
    {
    $row mysql_fetch_array($resultMYSQL_NUM);
    $query "UPDATE users SET password=PASSWORD('$npa') WHERE id=$row[0]";
    $result mysql_query ($query) or die (mysql_error());
    if (
    mysql_affected_rows() == 1)
    {
    echo 
    '

    [b]Your password has been changed.[/b]</p>'
    ;
    exit();
    }
    else
    {
    $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();
    }
    else
    {
    $message .= '

    Please try again.</p>'
    ;
    }

    }

    /**stampa del messaggio risultante dalla procedura*/
    if (isset($message))
    {
    echo 
    '<font color="red">'$message'</font>';
    }
    ?>
    E il form di ora

    <h2><font face="Times New Roman" color="green">[b]Change Your Password</h2>
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">


    <font face="Times New Roman" color="green">[b]Login Name: <input type="text" name="loginName" size="20" maxlength="40" value="<?php if (isset($_POST['loginName'])) echo $_POST['loginName']; ?>" /></p>


    <font face="Times New Roman" color="green">[b]Current Password: <input type="password" name="password" size="10" maxlength="20" /></p>


    <font face="Times New Roman" color="green">[b]New Password: <input type="password" name="password1" size="10" maxlength="20" /></p>


    <font face="Times New Roman" color="green">[b]Confirm New Password: <input type="password" name="password2" size="10" maxlength="20" /></p>


    <input type="submit" name="submit" value="Changeme" /></p>
    <input type="hidden" name="submitted" value="TRUE" />
    </form>

    Ora mi dice questo in rosso


    Your loginName and password do not match our records.

    Io voglio che dica Your password has been changed e ovviamente deve cambiare password!!!

    E grazie!!!

  5. #5
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    A questo punto ci sono 2 opzioni:

    1. l'utente effettivamente non esiste con l'username e password che inserisci
    2. la sua password e' salvata con un altro metodo di hash, non con password() di mysql

    ps: per la cronaca, mysql dice chiaramente che per i tuoi utenti e' meglio utilizzare md5, sha1 o altro, e non la funzione interna password()

  6. #6
    Ciao wolverinex3,

    capisco che seguire le regole e la netiquette di un forum può risultare noioso e stressante però la vita è questa e le regole ci sono è vanno seguite

    E' l'ennesimo thread che apri perché ... anzi no, non si capisce il perché ... invece di continuare quelli che hai già aperto ed è l'ennesimo thread in cui usi titoli non a norma.

    Ora, GENTILMENTE, vedi di leggere con attenzione il regolamento generale e quello della sezione soprattutto perché se apri ancora un altro thread che non è a norma di regolamento (generale o della sezione) la prima cosa che farò, ancora prima di chiuderlo, è di avvisare gli amministratori che, allegramente, fai finta che i regolamenti e la netiquette di comportamento non esista.

    Detto tutto ciò lascio il thread aperto correggendo il titolo e chiudo gli altri dato che la discussione sta andando avanti qui.

    Per qualsiasi dubbio/problema/lamentela e quant'altro non aprire dei thread ma inviami un messaggio privato a me o agli altri moderatori della sezione.

    Grazie

  7. #7

    Re: Aiuto per questo codice PHP non ne vuole sapere!!!

    hai riaperto la discussione per la quarta volta!!!!!!!

    http://forum.html.it/forum/showthrea...=&pagenumber=1

    in quel topic ti feci notare la stessa cosa che ti ha detto bubi1... e se non bastasse ti diedi anche la risposta... voglio essere gentile e riproportela sperando (credo inutilmente) che tu la metta a frutto!!!

    Originariamente inviato da wolverinex3
    Ciao io credo siano MD5 la tabella degli user si chiama users quindi metto users? Cmq come faccio a vedere il tipo di password? Cmq credo MD5!!!

    (...)

    codice PHP:
    $query = "SELECT id FROM users WHERE (loginName='$lo' AND password=PASSWORD('$pa') )";
    $query = "UPDATE users SET password=PASSWORD('$npa') WHERE id=$row[0]";
    RISPOSTA:

    http://dev.mysql.com/doc/refman/5.1/...functions.html

  8. #8
    Ciao ho bisogno di aiuto di questo codice PHP

    Codice PHP:

    <?php session_start();

    include 
    'databaseconnectinfo.php';

    $username $_POST['username'];
    $password $_POST['password'];
    $newpassword $_POST['newpassword'];
    $confirmnewpassword $_POST['confirmnewpassword'];

    $result mysql_query("SELECT password FROM users WHERE username='$username'");
    if(!
    $result)
    {
    echo 
    "The username you entered does not exist";
    }
    else
    if(
    $password!= mysql_result($result0))
    {
    echo 
    "You entered an incorrect password";
    }
    if(
    $newpassword=$confirmnewpassword)
    $sql=mysql_query("UPDATE users SET password='$newpassword' where username='$username'");
    if(
    $sql)
    {
    echo 
    "Congratulations You have successfully changed your password";
    }
    else
    {
    echo 
    "The new password and confirm new password fields must be the same";
    }
    ?>

    <h2><font face="Times New Roman" color="green">Change Your Password</h2>
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">



    [b]<font face="Times New Roman" size="2" color="green">User ID: <input type="text" name="loginName" size="10" maxlength="20" value="<?php if (isset($_POST['user'])) echo $_POST['user'];?>" /></p>


    <font face="Times New Roman" size="2" color="green">[b]Current Password: <input type="password" name="password" size="10" maxlength="20" /></p>


    <font face="Times New Roman" size="2" color="green">[b]New Password: <input type="password" name="password1" size="10" maxlength="20" /></p>


    <font face="Times New Roman" size="2" color="green">[b]Confirm New Password: <input type="password" name="password2" size="10" maxlength="20" /></p>


    <input type="submit" name="submit" value="Changeme" /></p>
    <input type="hidden" name="submitted" value="TRUE" />
    </form>


    E questo è l'errore che mi da con quella scritta Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 5 in D:\Inetpub\webs\feelmeit\manageme.php on line 105

    The new password and confirm new password fields must be the same

    Io invece voglio che dica Congratulations You have successfully changed your password e deve cambiare password agli utenti del sito!!!


    Devo finire il sito entro il 15!!! E grazie!!!

  9. #9
    quanti utenti ha l'applicazione/sito?

  10. #10
    Polemiche precedenti a parte... (tanto per...)

    hai errori formali nello script.

    1) cosa rende mysql_query() ?
    Codice PHP:
    $result mysql_query("SELECT password FROM users WHERE username='$username'");
    if(!
    $result)
    {
    echo 
    "The username you entered does not exist"
    zero record trovati non da $result = a FALSE ma da un regolare resource id number con zero record set.

    2) mysql_result() e' obsoleto. Usa mysql_fetch_row()

    3) il seguente non e' una comparazione di valori ma una assegnazione.
    Codice PHP:
    if($newpassword=$confirmnewpassword
    devi usare == e non il solo =

    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 © 2025 vBulletin Solutions, Inc. All rights reserved.