Aiuto con php

di il
25 risposte

25 Risposte - Pagina 2

  • Re: Aiuto con php

    Ciao, dal primo messaggio di errore credo che siamo ancora, per dirla alla bresciana, al ' .... campo delle sette pertiche ...,' Non ho (volutamente) letto il codice ma sono certo che l'errore ricevuto possa dipendere da due errori :
    mancanza dell'attributo NAME o attributo NAME sbagliato...
    Non ho letto il codice perché (di nuovo) manca un file, ovvero il file sql che usi tu, il precedente peraltro da me modificato
    e quindi diverso dal tuo l'ho cancellato dopo avertelo spedito.
    Appena ricevo il file inizio il debug. ciao
  • Re: Aiuto con php

    Ciao ho dato una veloce occhiata al tuo codice, devo farti una domanda, il codice di ciao.php ha qualcosa di tuo o è
    un semplice taglia e incolla ?

    Te lo chiedo solo per cercare di capire il tuo livello di conoscenza di PHP, come premesso non sono esperto in PHP però
    con tutti i miei limiti ho visto immediatamente che il codice oltre a essere inutilmente e pericolosamente ridondante
    non può funzionare.
    Osserva la prima parte del codice, il primo IF
    
    if (isset($_POST['SignUp'])) {
    	// Tutta la parte di codice per ISSET   
    }
    else {
        echo "Submit button is not set ";
    }
    
    E' evidente che se $_POST['SignUp'] non è nel POST il sistema invia a video il messaggio di errore, ci siamo ?
    Il problema, di tipo logico, è che invii il POST dal button SignIn SignUp non sarà valorizzato e quindi .... messaggio
    d'errore.

    Potresti risolvere incapsulando e complicando senza vantaggio il ciclo IF controllando prima se uno dei due button è settato
    e separando poi la gestione di REGSITRA e LOGIN, funzionerebbe ma avresti quello che ai mie tempi definivano SPAGHETTI
    CODE ingestibile lento e pericoloso.

    La soluzione per fortuna è semplice dividi e semplifica il codice di ciao, una parte LOGIN e una parte REGISTER, semplicemente cambiando l'attributo action dei 2 form, esempio in login.php e register.php avresti da subito
    un codice molto più snello da manutenere e correggere.

    Inoltre, ma già te lo ho scritto, inserisci l'attributo required negli INPUT avrai meno codice da scrivere e sopratutto
    meno IF da gestire, SEMPLICE è sempre meglio, e sopratutto ricorda un precetto importantissimo del programmatore
    il codice deve essere DRY (don't repeat yourself - non ripetere il codice) se hai ripetizioni di codice significa che stai sbagliando.

    Sono pedante, forse, ma se vuoi scrivere del codice devi per forza importi delle regole altrimenti ... auguri, nel mio
    caso sono stato fortunato ho trovato chi mi ha indicato come fare ma da parte mia ho fatto tesoro dei loro suggerimenti,
    spesso dopo aver sbattuto il naso ma alla fine mi sono convinto ... è stato da subito meno difficile.

    Attendo il file sql poi ti mando i files corretti, ciao
  • Re: Aiuto con php

    Ciao, per prima cosa ti rimando il link con anche il file sql della tabella che uso:
    https://www.filemail.com/d/vtrhinswfcvahr

    Secondo, il file php è il mio, lo stesso dell'altro file dove mi hai aiutato, solo con qualche modifica, infatti la parte della registrazione sono riuscito a farla funzionare subito, il problema è la parte del login. Non ho trovato da nessuna parte come farlo quindi ho pensato che si protrebbe cercare nella tabella una riga con delle condizioni (già implementata nel file) ma non so se funziona.
  • Re: Aiuto con php

    Ciao, ... NO non non poteva funzionare, poi quando ti manderò i sorgenti completi capirai perché.
    Credo di aver, finalmente capito cosa stai facendo, ti diletti, e non c'è nulla di male, a scaricare
    da internet form che ti attraggono per la loro particolarità, poi provi ad aggiungere del codice
    giusto per dire che funzionano, ripeto nulla di male ma credo che questo forum abbia uno scopo diverso,
    chi ha problemi, anche banali, chiede giustamente aiuto a chi, forse, ne sa giusto poco di più,
    per andare avanti ed imparare.
    Nel secondo esempio di login che ti mi hai inviato hai ripetuto esattamente gli errori del primo aggiungendone altri...ci vuole impegno...

    Osservo inoltre che entrambi gli esempi che ho visto sono inutilizzabili a fini pratici, non sono 'responsivi'....
    prova ad visualizzarli su smarthphone ...
    Infine se stai cercando davvero di imparare non prendere ad esempio i sorgenti che ti invierò a breve,
    saranno un ottimo esempio della differenza tra efficacia ed efficienza. la cosa vera da fare era riscriverli da zero...
    Ciao
  • Re: Aiuto con php

    Link dei file, funziona tutto e ho commentato ogni passaggio

    Ciao
  • Re: Aiuto con php

    Ho scaricato il file, ho importato la tabella login nel database SQL e l'ho provato:
    Quando provo a fare il signup mi da questi errori: https://drive.google.com/file/d/1KDCbW5n-Ebkc5b32tnHHAYXx_zJ5804F/view?usp=sharing
    Quando provo a fare il login mi da questi altri errori: https://drive.google.com/file/d/1KDCbW5n-Ebkc5b32tnHHAYXx_zJ5804F/view?usp=sharing
  • Re: Aiuto con php

    Ciao,
    problema mio, sul mio PC ho ancora installato PHP 7.1, evidentemebte tu usi 8.x
    e quindi per te la costante è deprecata (morta).
    Non sono ancora passato alla versione 8.x e d'altro canto i siti pubblicati su ARUBA e ALTERVISTA
    funzionano ancora e quindi ....

    La soluzione per te è semplice, non usare la costante, io dovrei cercare sui manuali se è
    disponibile una nuova costante o magari un polifyll o quant'altro.
    $nameSignUp =filter_input(INPUT_POST, 'nameSignUp', FILTER_SANITIZE_STRING);
    
    cambia con
    $nameSignUp =$_POST['nameSignUp'];
    non va bene perché è pericoloso (XSS) ma per le tue prove va bene, appena ho tempo
    mi leggo la documentazione di PHP 8.x
    (Potresti farlo anche tu)
  • Re: Aiuto con php

    Ho modificato tutte le righe scorrette ed ora funziona, ma quando provo a fare il login, dopo aver effettuato il signup, anche se sono sicuro che l'email e la password sono corrette mi dice comunque dati non validi. Grazie
  • Re: Aiuto con php

    Ciao,
    ho modificato anche io le righe eliminando il filtro e la costante deprecata, come mi aspettavo
    funziona ancora tutto.

    Sei sicuro di aver modificato correttamente il codice ? Hai controllato se nella tabella i dati
    di registrazione sono corretti ?

    Ti ricordo, ad esempio, che scrivere $_POST['pippo'] and $_POST['pippo '] non è uguale, nel secondo caso la variabile sarà NULL.

    Ciao
  • Re: Aiuto con php

    Si sono abbastanza sicuro che i nomi sono uguali, ho pure preso i nomi dei campi input e il ho incollati sopra agli altri nel file php ma comunque niente. Per sicurezza ti rimando tutta la cartella e poi dimmi cosa ho sbagliato. Grazie
  • Re: Aiuto con php

    Ciao, allora dopo aver visto i sorgenti mi sono convinto che è meglio lasciar perdere.
    Nei due script REGISTRA e LOGIN nelle query utilizzi nomi di tabella che non sono
    presenti nel database.
    Ma ti sei preso la briga di controllare i sorgenti o ....
    Sostituendo Utenti con users a REGISTRA IN RIGA 58 E 88 E IN LOGIN IN RIGA 42...
Devi accedere o registrarti per scrivere nel forum
25 risposte