• User Attivo

    Modificare Login in php per adattarlo a flash

    Ciao a tutti, ho bisogno di inserire il login e quindi la protezione per alcune pagine del sito che sto creando, facendo alcune ricerche mi sono imbattuto su questo codice php che ho provato e funziona, il problema è che vorrei rendere più carina la grafica del form di login utilizzando flash, ho quindi la necessità di adattare questo script php in modo che prenda le variabili di login e password da un form fatto in flash.

    Questo è il codice php
    [php]<?php
    if (isset($invio)) {
    $puntatore = fopen("password.txt", r);

    $trovato = 0;
    while ((!feof($puntatore)) && (!$trovato)) {
    $linea = fgets($puntatore, 50);
    $trovato = stristr($linea, $userid);
    $puntatore++;
    }
    fclose($puntatore);
    list($nomeutente, $password) = split("~:~", $linea);
    $password = trim($password);
    if (($trovato) && ($passwd == $password) ) {
    session_register('autorized');
    $autorized = 1;
    echo "
    <script language="JavaScript">
    <!--
    document.location.href ="inizia.html"
    //-->
    </script>
    ";
    } else {
    echo "
    <script language="JavaScript">
    <!--
    document.location.href = "destroy.php"
    //-->
    </script>
    ";
    }

    } else {

    // HTML ?>

    <table border="0" cellspacing="0" cellpadding="10" border="0" bgcolor="#000000">
    <tr>
    <td>
    <form method=post action="login.php">
    <font color="#FFFFFF" align="center" size="-1">
    inserite nome utente e password
    </font><br><br>
    <table width="300" class="tableclass" cellpadding="4" cellspacing="1" align="center">
    <tr>
    <td class="tableheader">
    nome utente:
    </td>
    <td class="tablecell">
    <input type="text" name="userid" class="tableclass">
    </td>
    </tr>
    <tr>
    <td class="tableheader">
    password:
    </td>
    <td class="tablecell">
    <input type="password" name="passwd" class="tableclass">
    </td>
    </tr>
    <tr>
    <td>
    <input type="submit" name="invio" value="invio" class="pulsanti">
      
    <input type="reset" name="cancella" value="cancella" class="pulsanti">
    </td>
    </tr>
    </table>
    <br>
    </form>
    </td>
    </tr>
    </table>
    <? //fine HTML
    }
    ?>[/php]

    fin qui tutto bene, funziona, ora devo solo trasformarlo, eliminare i pulsanti in html e sostituirli con il form in swf
    Per ora ho iniziato così, in modo semplice per fare qualche test, ho fatto due campi di testo di imput, ad uno ho anche assegnato come tipo linea la funzione password.
    Ora suppongo di dover dare ad entrambi dei nomi istanza ed usare il metodo LoadVars per inviare queste al file php, fin qui dovrei essere in grado di farlo.
    Una volta caricate le variabili nel file php come le integro in questo script, il problema che non lo riesco a comprendere a pieno.


  • User Attivo

    sto incominciando a capire il codice ma vorrei chiedermi alcune cosette,
    nella prima riga del codice vi è una r
    [PHP]$puntatore = fopen("password.txt", r);[/PHP]
    a cosa serve?
    nella funzione while vi è per due volte la e commerciale &&
    [PHP]while ((!feof($puntatore)) && (!$trovato)) {[/PHP]
    anche in questo caso non capisco a cosa serve.
    Sapreste aiutarmi?


  • User Attivo

    nella guida di flash ho trovato l'operatore &&, dice che esegue un'operazione booleana sui valori di entrambe le espressioni.
    Vale la stessa cosa anche in php?
    Anche se non ho capito bene cosa sia l'operazione boleana è sempre un inizio per capire il resto 😛


  • User Attivo

    ok, forse ho capito come fare, almeno spero 😛
    Dunque mi pare di capire che le variabili prese dal form fatto in html presente nel file php sono due, userid e passwd quindi se io carico le variabili di flash direttamente in due variabili php chiamate $userid e $ passwd dovrebbe funzionare vero?
    Ditemi se ho capito, oggi non sono stato molto fortunato in quanto a risposte, ma almeno spero di aver capito qualcosa da solo.


  • User Attivo

    Adriano, è lo stesso lavoro che hai fatto per il form in flash, ricordi...?
    Usi l'oggetto LoadVars di Flash e mandi le variabili alla pagina php....
    Esattamente la stessa tecnica, crei l'oggetto LoadVars, ci metti le variabili "login" e "password", e usi "LoadVars.send(pagina.php,oggetto,POST).
    Poi recuperi le variabili dalla pagina.php con le variabili $_POST["login"] e $_POST["password"]...
    Questo è tutto...
    L'operatore "&&" è un "AND logico", praticamente restituisce TRUE se entrambi i suoi operatori sono VERI, quindi lo usi in questo modo
    [php]
    if (($username == "adriano") && ($password == "bari"))
    {
    echo "accesso corretto";
    }
    else
    {
    echo "accesso sbagliato";
    }
    [/php]

    E' più kiaro adesso?


  • User Attivo

    Aggiungo,
    perchè sei andato a pescare uno script che usa i file di testo per memorizzare le password...? Non puoi usare un database..?


  • User Attivo

    Come al solito sei sempre il primo a darmi una mano, comunque più o meno avevo capito che potevo fare con il LoadVars e infatti stavo procedendo su questa via, non sono ancora arrivato alla soluzione ma credo di esserci quasi, ho anche comprato un pò di manuali, php, flash e MySQL, spero mi possano servire.
    Per quanto riguarda lo script è uno che ho trovato su di un sito e una volta capito come usare un db anziché un file txt farò così, anche perché credo sia più sicuro e poi ho la necessità di far comunicare questo database con quello del programma che usiamo qui in ditta. Forse per uno che di programmazione sa poco e niente è un progetto ambizioso ma credo sia possibile far tutto se uno lo vuole.
    Comunque grazie ancora.