Autor Zpráva
milanbalog
Profil
Ahoj,
chtěl bych se zeptat jak se dá změnit hodnota v poli

<?php
$udaje=array("admin"=>"21232f297a57a5a743894a0e4a801fc3");
?>

jde mi o změnu "21232f297a57a5a743894a0e4a801fc3" je to md5 hash hesla a já bych chtěl vytvořit aby se dal ten md5 hash změnit tudíž aby se po odeslání jakéhosi formuláře např.:

<form action="zmena-hesla.php" method="post" name="zmena-hesla" >   
    <fieldset>
        <legend>Změna hesla</legend>
      <label class="req">Jméno:</label><br />
      <input type="text" name="nick" /><br />
      <label class="req">Nové heslo:</label><br />
      <input type="password" name="heslo" /><br />
      <input type="submit" name="odeslat" value="Odeslat"> 
    </fieldset>          
</form> 

name u inputu jsou nastavené tak, jako u přihlašovacího formuláře tudíž "admin" je nick a "21232f297a57a5a743894a0e4a801fc3" je heslo.

Předem díky za rady
Milan
Alphard
Profil
To je z kódu jednoduchý přihlašovací script, že ano?
Teoreticky by šlo i php soubor upravovat jako normální texťák, prakticky to není dobrý nápad.

Doporučuji vyčlenit to pole do zvláštního souboru. Mohly by se hodit funkce json_encode(), json_decode(), file_get_contents() a file_put_contents().
Majkl578
Profil
To by vyžadovalo mít soubor, který bude zapisovatelný a v němž se budou údaje při aktualizaci měnit. Jednoduše by šlo mít např. soubor credentials.php, ve kterém by bylo pouze uvedené pole.
Tento soubor by se normálně při kontrole načítal pomocí include/require.
Při odeslání formuláře na změnu by se načetl taktéž, upravil hodnotu v poli a uložil do daného souboru. Mám na mysli něco takového:

credentials.php:
$credentials = array(
    'admin' => '21232f297a57a5a743894a0e4a801fc3'
);

Při odeslání formuláře se provede něco takového:
$credentials[$user] = md5($password);

file_put_contents(__DIR__ . '/credentials.php', "<?php\n\n\$credentials = " . var_export($credentials, TRUE));

Kde $user a $password jsou samozřejmě měněné hodnoty z formuláře.

Alternativně pak složitější řešení, např. ini/json soubor.
milanbalog
Profil
to, že bych si měl pole dát do jiného souboru mě napadlo už včera, kdy jsem se tímto začal zabývat.
Napsat přepsání toho souboru mi přišlo jako ne zcela dobrý nápad, když se to pole používá na přihlašování.

a jiný postup mě právě nenapadal, nebo jsem nenašel nějakou vhodnou funkci.

Děkuji za navedení na pár funkcí.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: