Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Cambio Password

  1. #1

    Cambio Password

    Allora, non avendo studiato le sessioni, grazie a questo forum ho trovato un sistema di login protetto da password(unica - senza db) in questo modo:


    PAGINA DI LOGIN .PHP
    -------------------------------------------------------------

    <form action="verifica.php" method="post">
    <input type="text" name="username" value="user"/>
    <input type="password" name="pwd" />
    <input type="submit" value="submit" />

    -------------------------------------------------------------



    PAGINA DI VERIFICA.PHP
    -------------------------------------------------------------
    <?php
    session_start();

    $user = 'Pluto';
    $pass = 'Pippo';

    if(!isset($_POST['username']) || !isset($_POST['pwd']) || $_POST['username'] != $user || $_POST['pwd'] != $pass){
    header('Location: login.php?msg=Utente non validato');
    exit;
    }else{
    $_SESSION['utente'] = $user . '$' . $pass;
    header('Location: proteggi.php');
    }

    ?>
    -------------------------------------------------------------


    IN OGNI PAGINA DA PROTEGGERE...
    -------------------------------------------------------------
    <?php
    session_start();

    if(!isset($_SESSION['utente']) || empty($_SESSION['utente']))
    header('Location: ./login.php?msg=Sessione scaduta');

    ?>
    -------------------------------------------------------------

    Come si vede però le psw Pluto e Pippo sono fisse, certo ogni volta potrei andare li e cambiarle ma vorrei fare in modo che l'utente possa cambiare questa psw...il mio problema infatti è di tipo ciclico, cioè se metto una textare di conferma della vecchia psw e poi fare confermare in quella nuova... come faccio ?

    Grazie

  2. #2
    In questo caso dovrai mettere username e password in un file di testo o nel db. In seguito basterà aggiornare
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Gentilmente mi potresti fare un esempio più pratico...


  4. #4
    Anzi guarda... penso che tu mi stia dando un consiglio per avere un elenco di utenti ognuno dei quali può avere una password... ma la cosa è molto più semplice; infatti la password mi serve solamente pr una persona.

    In pratica il proprietario per entrare nella pagina protetta(da dove si può modificar il sito) si trova costretto a utilizzare la password che gli do io, quando invece vorrebbe cambiarsela lui; pensavo che quindi includendo una variabile al posto di Pippo potevo risolvere al problema ... ma mi trovo in un problema ciclico in quanto, nel collegamento "Cambia password":

    - deve inserire la vecchia password
    - verificata la vecchia password è abilitato ad inserirne una nuova nella casella di testo che da questo momento è funzionante
    - inserisce la nuova password (che sarà prelevata dalla variabile)

    ad esempio ammesso che la variabile password sia $psw, nella pagina cambia password dovrei mettere qualcosa del genere:

    ------------------------------------------
    form con invio post
    <input type="text" name="bpsw" />
    <inpu type"submit" value="Invia" />

    <?php
    if($_POST[bpsw]==$psw) {//cambia $psw;} else
    {echo 'Attenzione la password inserita non &egrave; corretta;}
    ?>
    ------------------------------------------

    Secondo te andrebbe bene? o può portare degli errori una cosa dle genere?

  5. #5
    1. Se vuoi poter cambiare la password è comunque meglio salvarla all'esterno del codice (file txt o database). Riscrivere il codice con la nuova password è possiblie ma laborioso e sconsigliabile.
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  6. #6
    Scusa la mia ignoranza... ma, dal database ci potrei anche arrivare ma da un file di testo come faccio a prelevarla? --- cmq oltre a questo mi dici di:

    ------------------------------------------------------------------
    - Creare un database dove immettere una tabella con un campo univoco "password" (visto che mi serve una sola password)
    - Al posto di Pippo mettere una variabile che preleva il dato direttamente dal database

    Ma oltre a questo (che sono in grado di fare) devo fare in modo che l'utente prima di poter modificare il dato (tramite la query upload) deve confermare il vecchio dato -- è in questo passaggio che trovo difficoltà, ad esempio potrebbe andare bene una semplice istruzione if/else ?
    ------------------------------------------------------------------

    Mi potresti però dare un po di codice da cui poter cominciare oppure darmi maggiori dettagli?

    grazie

  7. #7
    Se si tratta di un unica password non scomoderei un database, a meno che la tua applicazione non lo utilizzi già.

    Dopo di che il procedimento è semplice

    richiedi

    vecchia password
    nuova password
    ripeti nuova password

    se vecchia password è uguale a password attuale (che leggo dal txt o dal db)
    se nuova passowrd uguale ripeti password allora aggiorna la password (se nel database con UPDATE, se in un file txt aprendolo con attributo "w").
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  8. #8
    allora questo andava bene senza ["aprire un nuovo db"]?

    form con invio post
    <input type="text" name="bpsw" />
    <inpu type"submit" value="Invia" />

    <?php
    if($_POST[bpsw]==$psw) {//codice che richiede conferma e cambia $psw;} else
    {echo 'Attenzione la password inserita non è corretta;}
    ?>

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.