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

    Modificare variabili in file .php inluso con require

    Buonasera, sono Marco e mi sono appena iscritto al forum, che reputo veramente interessante. La mia passione è l'automazione (elettronica o informatica che sia).
    E' da tempo che lo seguo ma mi iscrivo ora perché ho veramente bisogno del vostro aiuto.

    Sto realizzando un piccolo server con un Raspberry, che deve gestire l'accensione spegnimento di alcuni carichi elettrici.
    Ho realizzato alcune pagine in php che permettono di attivare/disattivare gli I/O della scheda. A queste pagine ci si può accedere solo con inserimento di password.
    La password è contenuta in un file password.php:
    Codice PHP:
    <?php
    $username
    ="marco";
    $password="ciaociao";
    ?>


    In un'altra pagina (quella che contiene i campi per l'inserimento), viene caricato il file mediante <?php require("password.php"); ?> e controllato che i dati inseriti corrispondano a quelli del file.

    Fino a qui tutto OK.

    Il problema sorge nel momento in cui realizzo una paginetta che permette di cambiare la password, cambiopsw.php, che contiene sempre il require, un campo per la vecchia password e due per quella nuova (il tipico cambio password). Quando clicco su OK, vengono controllate le varie coerenze (vecchia password = password attuale e le due password nuove uguali).
    Qundi se i controlli sono ok, assegno a $password (!! nel file password.php, non in questo), il valore della nuova password.
    Il problema è che in realtà il valore della variabile $password nel file password.php rimane invariato!
    Come posso fare a permettere di cambiare il valore, in modo da poter consentire il cambio password?
    Forse bisogna agire sul file password.php a livello più basso? ovvero con l'equivalente scanf e printf del C ?

    Vi ringrazioni in anticipo per l'aiuto e.. Buonanotte

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    devi modificare il contenuto del file con i nuovi valori e scriverlo sul server
    sinceramente, userei altri metodi più facili da gestire, tipo un file json per salvare ed elaborare i dati

  3. #3
    Quote Originariamente inviata da clasku Visualizza il messaggio
    devi modificare il contenuto del file con i nuovi valori e scriverlo sul server
    sinceramente, userei altri metodi più facili da gestire, tipo un file json per salvare ed elaborare i dati
    Grazie della risposta, come posso fare ad usare un file json e fare questa manovra della scrittura del nuovo file sul server? Cioè funziona come in C?

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ogni volta che devi controllare la correttezza delle credenziali
    Codice PHP:
    <?php
    // recuperi i dati dal json e li metti in un array
    $data json_decode(file_get_contents("credenziali"), True);

    // confronti i dati provenienti dal form con quelli presenti nell'array
    ?>
    quando vuoi modificare la password
    Codice PHP:
    <?php
    // recuperi i dati dal json e li metti in un array
    $data json_decode(file_get_contents("credenziali"), True);

    // modifichi il dato relativo alla password (indice 'pwd' dell'array) con il dato preso dal form e messo nella variabile $newPassword
    $data['pwd'] = $newPassword;

    // salvi tutto sul server
    file_put_contents("credenziali"json_encode($data));
    ?>
    la cosa buona è che puoi facilmente usare JSON per avere più utenti o salvare altre configurazioni

    il file JSON, per sicurezza, è meglio se lo tieni fuori dallo scope del server

  5. #5
    Quote Originariamente inviata da clasku Visualizza il messaggio
    ogni volta che devi controllare la correttezza delle credenziali
    Codice PHP:
    <?php
    // recuperi i dati dal json e li metti in un array
    $data json_decode(file_get_contents("credenziali"), True);

    // confronti i dati provenienti dal form con quelli presenti nell'array
    ?>
    quando vuoi modificare la password
    Codice PHP:
    <?php
    // recuperi i dati dal json e li metti in un array
    $data json_decode(file_get_contents("credenziali"), True);

    // modifichi il dato relativo alla password (indice 'pwd' dell'array) con il dato preso dal form e messo nella variabile $newPassword
    $data['pwd'] = $newPassword;

    // salvi tutto sul server
    file_put_contents("credenziali"json_encode($data));
    ?>
    la cosa buona è che puoi facilmente usare JSON per avere più utenti o salvare altre configurazioni

    il file JSON, per sicurezza, è meglio se lo tieni fuori dallo scope del server
    Ok penso di avere quasi capito, a parte una cosa: il file Json cosa deve contenere?

  6. #6
    Quote Originariamente inviata da marcotecnovolt Visualizza il messaggio
    Ok penso di avere quasi capito, a parte una cosa: il file Json cosa deve contenere?

    A Posto! Ho capito, il file json è del tipo:

    {
    "username": "inserire qui l'username";
    "password": "inserire qui la password"
    }

    Grazie dell'aiuto clasku !!! Grande !!

  7. #7
    Volevo sapere un'altra cosetta:
    adesso ho fatto le prove creando un file json nella stessa cartella della index, ma ovviamente non va bene perchè chiunque lo può vedere . Quindi ho provato a spostarlo nella home "/home/pi" ma non lo riesco più ad utilizzare...

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    devi mettere il percorso corretto del file, non basta solo il nome

  9. #9
    Quote Originariamente inviata da clasku Visualizza il messaggio
    devi mettere il percorso corretto del file, non basta solo il nome
    Ho provato anche inserendo il nome completo (/home/pi/dati www/credenziali.json) però non riesco comunque a leggere le variabili. Probabilmente è un discorso di permessi

  10. #10
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ti restituisce qualche errore particolare?
    hai usato gli apici per comprendere tutto il percorso?

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.