• Super User

    @giulio3x said:

    • allora cominciamo...per via dell'ip dove devo inserire il pezzo di codice? e per dove intendo su quale pagina della chat (su insert, o messaggi, o chat ecc)

    Dipende a che ti serve.
    Vuoi farlo visualizzare?


  • Super User

    Mandami i tuoi dati via PM cosi ti mando la fattura eheheheh!!! 😄 😄 😄


  • User Attivo

    @ayrton2001 said:

    Mandami i tuoi dati via PM cosi ti mando la fattura eheheheh!!! 😄 😄 😄

    ma scherzi o dici sul serio?:bho:😢

    no sai, un forum è fatto per parlare insieme e cercare di risolvere i problemi ma se me la metti così mi preoccupi...

    comunque io vorrei che alla registrazione insieme ai dati nel registro.txt compaia anche l'ip


  • Super User

    @giulio3x said:

    ma scherzi o dici sul serio?:bho:😢

    no sai, un forum è fatto per parlare insieme e cercare di risolvere i problemi ma se me la metti così mi preoccupi...

    Secondo te? Più di un ehehehe e di tre 😄 non so come fare ironia sul forum!!! :mmm:

    @giulio3x said:

    comunque io vorrei che alla registrazione insieme ai dati nel registro.txt compaia anche l'ip

    Modifica registrazione.php cosi:

    [php]<?
    if(!isset($_POST['Submit']))
    {
    echo "
    <script language="javascript">
    alert("Non hai i permessi per accedere a questa pagina");
    </script>
    ";

        exit;
    

    }
    ?>
    <html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FBBEAA">
    <?
    include("config.php");
    $ip = $_SERVER['REMOTE_ADDR'];
    $nick=$_POST['nick'];
    $nick=strtolower($nick);/conversione della stringa del nick in minuscolo/
    $nick=stripslashes($nick);/toglie gli slashes aggiunti ad una stringa
    con addslòashes
    /
    $password=$_POST['password'];
    $password=strtolower($password);/conversione della stringa della
    password in minuscolo
    /
    $password_cr=crypt($password,$nick);/criptazione di tipo DES della
    password usando come chiave la stringa del nick
    /
    $password_cr=str_replace("|","*",$password_cr);/*questa la si definisce
    una criptazione aggiuntiva: se nella password criptata sono presenti
    | sono sostituiti con * /
    $age=(int)$_POST['age'];/qquio si verifica che eta sia intera ,altro controllo
    per la sicurezza
    /
    if(!(int)$age)
    {
    echo "
    <script>
    alert("Inserimento di un dato non numerico");
    history.back();
    </script>
    ";
    exit;
    }
    $sex=$_POST['sex'];
    $nation=$_POST['nation'];
    $hobbies=$_POST['hobbies'];
    $nation=stripslashes($nation);
    $hobbies=stripslashes($hobbies);
    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}
    $utente_ok=1;
    $ut_regist=file($file_reg);/si memorizza il file in un vettore ;ogni
    elemento del vettore corrisponde ad ogni riga del file
    /
    $dim_reg=count($ut_regist);/conta le righe del vettore/
    /ora che il file è un vettore era meglio utilizzare un foreach
    piuttosto che un for
    /
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist
    );/chop è alias di rtrim ed elimina spazi ed
    altro dalla fine del file in questo caso dalla riga in cui andremo a
    scrivere
    /
    $dati_ut=explode("|",$utente);/considerando ogni riga come un array si
    separa ogni elemento dell'array con un |
    /
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0; /si
    controlla che il nick o la passwords nopn esistano
    /
    }
    if ($utente_ok==1)
    {
    if (empty($nick) | empty($password) | empty($nation) | empty($sex) |
    empty($hobbies))
    {
    echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O
    PIU' CAMPI</font></center><br><br>";
    echo "<center><font face="Verdana" size="2"><a
    href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
    }
    else /in caso in cui tutti i campi siano stati tutti riempiti/
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."|".$ip."\n";
    $ins_utente=fopen($file_reg,"a+");/si scive i dati dell'utente nel
    vettore-filre
    /
    fputs($ins_utente,$utente);
    fclose($ins_utente);
    echo "<center><font face="Verdana" size="3">SEI REGISTRATO ALLA CHAT.<br> PER ENTRARE E SCRIVERE NELLA CHAT, CHIUDI QUESTA FINESTRA DI CONFERMA DELL'AVVENUTA REGISTRAZIONE, ED EFFETTUA IL LOGIN INSERENDO NEI DUE RISPETTIVI CAMPI IL NICKNAME E LA PASSWORD SCELTI.</font></center>";
    }
    }
    else
    echo "<center>Nick o password già utilizzata.<br><a
    href="javascript:history.back();">Torna indietro</a><center>";
    ?>
    </body>
    </html>[/php]

    Guarda le righe
    $ip = $_SERVER['REMOTE_ADDR'];
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."|".$ip."\n";

    Però se non hai senso dell'humor non ti aiuto più 😢 😢 😢

    😄 😄 😄


  • User Attivo

    ciao ayrton sempre disponibile, l'ip funziona grazie!

    devo pure riferirti una cosa però....
    quando ho messo il codice su chat.php riguardo il submit, mi compariva il messaggio "non hai i permessi per accedere a questa pagina" dovuto forse a un conflitto che veniva a crearsi con il codice che ti posto e che sulla pagina "insert.php" era posto proprio sopra a <html>:

    [php] <?
    if(!isset($_POST['Submit']))
    {
    echo "
    <script language="javascript">
    alert("Non hai i permessi per accedere a questa pagina");
    </script>
    ";

        exit;
    

    }
    ?>
    [/php]

    perciò per eliminare questo problema creatosi ho dovuto per forza di cose eliminare quel suddetto codice (quello postato poprio qui sopra), tu che mi dici? c'è un modo per mantenerlo senza che si creino problemi?


  • Super User

    @giulio3x said:

    ciao ayrton sempre disponibile, l'ip funziona grazie!

    devo pure riferirti una cosa però....
    quando ho messo il codice su chat.php riguardo il submit, mi compariva il messaggio "non hai i permessi per accedere a questa pagina" dovuto forse a un conflitto che veniva a crearsi con il codice che ti posto e che sulla pagina "insert.php" era posto proprio sopra a <html>:

    [php] <?
    if(!isset($_POST['Submit']))
    {
    echo "
    <script language="javascript">
    alert("Non hai i permessi per accedere a questa pagina");
    </script>
    ";

       exit;
    

    }
    ?>
    [/php]

    perciò per eliminare questo problema creatosi ho dovuto per forza di cose eliminare quel suddetto codice (quello postato poprio qui sopra), tu che mi dici? c'è un modo per mantenerlo senza che si creino problemi?

    Aggiungi un campo hidden
    [php]<input type="submit" name="Submit" value="Invia messaggio">
    <input type="hidden" name="hideSubmit" value="hideGo">[/php]

    e modifica il controllo cosi:
    [php] <?
    if(!isset($_POST['hideSubmit']))
    {
    echo "
    <script language="javascript">
    alert("Non hai i permessi per accedere a questa pagina");
    </script>
    ";

        exit;
    

    }
    ?>
    [/php]


  • User Attivo

    ciao ayrton il tutto è ok, ho solo dovuto mettere al posto di "POST" modificare in "GET" così tutto funziona, grazie, sei molto preparato!;)


  • Super User

    @giulio3x said:

    ciao ayrton il tutto è ok, ho solo dovuto mettere al posto di "POST" modificare in "GET" così tutto funziona, grazie, sei molto preparato!;)

    Cioè if(!isset($_GET['hideSubmit]))
    anziche di if(!isset($_POST['hideSubmit']))
    Perche? Non dovrebbe essere cosi poichè il campo hideSubmit viene passato tramite post


  • User Attivo

    @ayrton2001 said:

    Cioè if(!isset($_GET['hideSubmit]))
    anziche di if(!isset($_POST['hideSubmit']))
    Perche? Non dovrebbe essere cosi poichè il campo hideSubmit viene passato tramite post

    -dove lo vedi che viene passato tramite post?

    -tutta la chat funziona tramite GET, altri mi dissero che era meglio usare POST ma la chat con POST non funzionava, tu a riguardo di questa teoria cosa mi dici? perchè sarebbe meglio usare post pittosto che get?


  • Super User

    @giulio3x said:

    -dove lo vedi che viene passato tramite post?
    da qui:
    <form method="POST" action="insert.php" name="form_ins" onsubmit="checkSubmit();" >

    @giulio3x said:

    -tutta la chat funziona tramite GET, altri mi dissero che era meglio usare POST ma la chat con POST non funzionava, tu a riguardo di questa teoria cosa mi dici? perchè sarebbe meglio usare post pittosto che get?
    Credo che per il tuo uso sia indifferente. A me sinceramente non piace vedere l'url con tutti i parametri visibili


  • User Attivo

    @ayrton2001 said:

    da qui:
    <form method="POST" action="insert.php" name="form_ins" onsubmit="checkSubmit();" >

    Credo che per il tuo uso sia indifferente. A me sinceramente non piace vedere l'url con tutti i parametri visibili

    • si una volta appunto avevo provato a mettere tutto con post, ma come ti diecevo non funzionava e poi evidentemente mi sono scrdato di mettere GET pure lì, comunque ora ho rimesso GET pure in quel punto. (curiosità: perchè secondo te mi funzionava il tutto pur avendo il post che mi ero scordato di togliere?).

    • poi cosa intendi che non ti piace vedere l'url con tutti i parametri visibili?
      (forse ho capito...intendi la barra dove si scrive l'indirizzo che si riempie di tutte lettere a caso del tipo /chat/chat?php_6847433eueudhddn44302)
      se fosse così la penserei pure io come te.

    • ho in mente di cambiare il formato della data io ora uso questo:
      [".date("H:i - d/m/Y")."]
      ma mi viene il 2007 tutto esteso, conosci qualche altra forma che mi venga invece che:
      06/08/2007 mi venga invece così: 06/08/07?

    • ho dato un'altra occhiata e ho visto che una volta qualcuno mi mise apposto la pagina ins_ut.php, prima dell modifica funzionava con tutti GET ma ora ho visto che ha tutti POST io allora ho provato a rimettere tutti i GET ma non funziona, perchè?(quella che ti posto è quella modificata con i post). Tu che dici la lascio così?..hai detto che è indifferente...
      [PHP]<?
      if(!isset($_POST['Submit']))
      {
      echo "
      <script language="javascript">
      alert("Non hai i permessi per accedere a questa pagina");
      </script>
      ";

        exit;
      

    }
    ?>
    <html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FBBEAA">
    <?
    include("config.php");
    $ip = $_SERVER['REMOTE_ADDR'];
    $nick=$_POST['nick'];
    $nick=strtolower($nick);/conversione della stringa del nick in minuscolo/
    $nick=stripslashes($nick);/toglie gli slashes aggiunti ad una stringa
    con addslòashes
    /
    $password=$_POST['password'];
    $password=strtolower($password);/conversione della stringa della
    password in minuscolo
    /
    $password_cr=crypt($password,$nick);/criptazione di tipo DES della
    password usando come chiave la stringa del nick
    /
    $password_cr=str_replace("|","*",$password_cr);/*questa la si definisce
    una criptazione aggiuntiva: se nella password criptata sono presenti
    | sono sostituiti con * /
    $age=(int)$_POST['age'];/qquio si verifica che eta sia intera ,altro controllo
    per la sicurezza
    /
    if(!(int)$age)
    {
    echo "
    <script>
    alert("Inserimento di un dato non numerico");
    history.back();
    </script>
    ";
    exit;
    }
    $sex=$_POST['sex'];
    $nation=$_POST['nation'];
    $hobbies=$_POST['hobbies'];
    $nation=stripslashes($nation);
    $hobbies=stripslashes($hobbies);
    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}
    $utente_ok=1;
    $ut_regist=file($file_reg);/si memorizza il file in un vettore ;ogni
    elemento del vettore corrisponde ad ogni riga del file
    /
    $dim_reg=count($ut_regist);/conta le righe del vettore/
    /ora che il file è un vettore era meglio utilizzare un foreach
    piuttosto che un for
    /
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist
    );/chop è alias di rtrim ed elimina spazi ed
    altro dalla fine del file in questo caso dalla riga in cui andremo a
    scrivere
    /
    $dati_ut=explode("|",$utente);/considerando ogni riga come un array si
    separa ogni elemento dell'array con un |
    /
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0; /si
    controlla che il nick o la passwords nopn esistano
    /
    }
    if ($utente_ok==1)
    {
    if (empty($nick) | empty($password) | empty($nation) | empty($sex) |
    empty($hobbies))
    {
    echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O
    PIU' CAMPI</font></center><br><br>";
    echo "<center><font face="Verdana" size="2"><a
    href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
    }
    else /in caso in cui tutti i campi siano stati tutti riempiti/
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."|".$ip."\n";
    $ins_utente=fopen($file_reg,"a+");/si scive i dati dell'utente nel
    vettore-filre
    /
    fputs($ins_utente,$utente);
    fclose($ins_utente);
    echo "<center><font face="Verdana" size="3">SEI REGISTRATO ALLA CHAT.<br> PER ENTRARE E SCRIVERE NELLA CHAT, CHIUDI QUESTA FINESTRA DI CONFERMA DELL'AVVENUTA REGISTRAZIONE, ED EFFETTUA IL LOGIN INSERENDO NEI DUE RISPETTIVI CAMPI IL NICKNAME E LA PASSWORD SCELTI.</font></center>";
    }
    }
    else
    echo "<center>Nick o password già utilizzata.<br><a
    href="javascript:history.back();">Torna indietro</a><center>";
    ?>
    </body>
    </html>[/PHP]


  • Super User

    @giulio3x said:

    • si una volta appunto avevo provato a mettere tutto con post, ma come ti diecevo non funzionava e poi evidentemente mi sono scrdato di mettere GET pure lì, comunque ora ho rimesso GET pure in quel punto. (curiosità: perchè secondo te mi funzionava il tutto pur avendo il post che mi ero scordato di togliere?).
    • poi cosa intendi che non ti piace vedere l'url con tutti i parametri visibili?
      (forse ho capito...intendi la barra dove si scrive l'indirizzo che si riempie di tutte lettere a caso del tipo /chat/chat?php_6847433eueudhddn44302)
      se fosse così la penserei pure io come te.

    • ho in mente di cambiare il formato della data io ora uso questo:
      [".date("H:i - d/m/Y")."]
      ma mi viene il 2007 tutto esteso, conosci qualche altra forma che mi venga invece che:
      06/08/2007 mi venga invece così: 06/08/07?

    • ho dato un'altra occhiata e ho visto che una volta qualcuno mi mise apposto la pagina ins_ut.php, prima dell modifica funzionava con tutti GET ma ora ho visto che ha tutti POST io allora ho provato a rimettere tutti i GET ma non funziona, perchè?(quella che ti posto è quella modificata con i post). Tu che dici la lascio così?..hai detto che è indifferente...
      [php]<?
      if(!isset($_POST['Submit']))
      {
      echo "
      <script language="javascript">
      alert("Non hai i permessi per accedere a questa pagina");
      </script>
      ";

        exit;
      

    }
    ?>
    <html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FBBEAA">
    <?
    include("config.php");
    $ip = $_SERVER['REMOTE_ADDR'];
    $nick=$_POST['nick'];
    $nick=strtolower($nick);/conversione della stringa del nick in minuscolo/
    $nick=stripslashes($nick);/toglie gli slashes aggiunti ad una stringa
    con addslòashes
    /
    $password=$_POST['password'];
    $password=strtolower($password);/conversione della stringa della
    password in minuscolo
    /
    $password_cr=crypt($password,$nick);/criptazione di tipo DES della
    password usando come chiave la stringa del nick
    /
    $password_cr=str_replace("|","*",$password_cr);/*questa la si definisce
    una criptazione aggiuntiva: se nella password criptata sono presenti
    | sono sostituiti con * /
    $age=(int)$_POST['age'];/qquio si verifica che eta sia intera ,altro controllo
    per la sicurezza
    /
    if(!(int)$age)
    {
    echo "
    <script>
    alert("Inserimento di un dato non numerico");
    history.back();
    </script>
    ";
    exit;
    }
    $sex=$_POST['sex'];
    $nation=$_POST['nation'];
    $hobbies=$_POST['hobbies'];
    $nation=stripslashes($nation);
    $hobbies=stripslashes($hobbies);
    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}
    $utente_ok=1;
    $ut_regist=file($file_reg);/si memorizza il file in un vettore ;ogni
    elemento del vettore corrisponde ad ogni riga del file
    /
    $dim_reg=count($ut_regist);/conta le righe del vettore/
    /ora che il file è un vettore era meglio utilizzare un foreach
    piuttosto che un for
    /
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist
    );/chop è alias di rtrim ed elimina spazi ed
    altro dalla fine del file in questo caso dalla riga in cui andremo a
    scrivere
    /
    $dati_ut=explode("|",$utente);/considerando ogni riga come un array si
    separa ogni elemento dell'array con un |
    /
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0; /si
    controlla che il nick o la passwords nopn esistano
    /
    }
    if ($utente_ok==1)
    {
    if (empty($nick) | empty($password) | empty($nation) | empty($sex) |
    empty($hobbies))
    {
    echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O
    PIU' CAMPI</font></center><br><br>";
    echo "<center><font face="Verdana" size="2"><a
    href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
    }
    else /in caso in cui tutti i campi siano stati tutti riempiti/
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."|".$ip."\n";
    $ins_utente=fopen($file_reg,"a+");/si scive i dati dell'utente nel
    vettore-filre
    /
    fputs($ins_utente,$utente);
    fclose($ins_utente);
    echo "<center><font face="Verdana" size="3">SEI REGISTRATO ALLA CHAT.<br> PER ENTRARE E SCRIVERE NELLA CHAT, CHIUDI QUESTA FINESTRA DI CONFERMA DELL'AVVENUTA REGISTRAZIONE, ED EFFETTUA IL LOGIN INSERENDO NEI DUE RISPETTIVI CAMPI IL NICKNAME E LA PASSWORD SCELTI.</font></center>";
    }
    }
    else
    echo "<center>Nick o password già utilizzata.<br><a
    href="javascript:history.back();">Torna indietro</a><center>";
    ?>
    </body>
    </html>[/php]

    Non ci sto capendo più niente con i post e i get.
    Puoi postarmi o allegarmi i file allo stato attuale?


  • User Attivo

    @ayrton2001 said:

    Non ci sto capendo più niente con i post e i get.
    Puoi postarmi o allegarmi i file allo stato attuale?

    ok, quello che ti posto è il file ins_ut.php allo stato attuale con i POST (ho provato per curiosità a mettere i GET al posto dei POST ma la registrazione di un nuovo utente non viene permessa:

    ecco il file:
    [php]<?
    if(!isset($_POST['Submit']))
    {
    echo "
    <script language="javascript">
    alert("Non hai i permessi per accedere a questa pagina");
    </script>
    ";

        exit;
    

    }
    ?>
    <html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FBBEAA">
    <?
    include("config.php");
    $ip = $_SERVER['REMOTE_ADDR'];
    $nick=$_POST['nick'];
    $nick=strtolower($nick);/conversione della stringa del nick in minuscolo/
    $nick=stripslashes($nick);/toglie gli slashes aggiunti ad una stringa
    con addslòashes
    /
    $password=$_POST['password'];
    $password=strtolower($password);/conversione della stringa della
    password in minuscolo
    /
    $password_cr=crypt($password,$nick);/criptazione di tipo DES della
    password usando come chiave la stringa del nick
    /
    $password_cr=str_replace("|","*",$password_cr);/*questa la si definisce
    una criptazione aggiuntiva: se nella password criptata sono presenti
    | sono sostituiti con * /
    $age=(int)$_POST['age'];/qquio si verifica che eta sia intera ,altro controllo
    per la sicurezza
    /
    if(!(int)$age)
    {
    echo "
    <script>
    alert("Inserimento di un dato non numerico");
    history.back();
    </script>
    ";
    exit;
    }
    $sex=$_POST['sex'];
    $nation=$_POST['nation'];
    $hobbies=$_POST['hobbies'];
    $nation=stripslashes($nation);
    $hobbies=stripslashes($hobbies);
    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}
    $utente_ok=1;
    $ut_regist=file($file_reg);/si memorizza il file in un vettore ;ogni
    elemento del vettore corrisponde ad ogni riga del file
    /
    $dim_reg=count($ut_regist);/conta le righe del vettore/
    /ora che il file è un vettore era meglio utilizzare un foreach
    piuttosto che un for
    /
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist
    );/chop è alias di rtrim ed elimina spazi ed
    altro dalla fine del file in questo caso dalla riga in cui andremo a
    scrivere
    /
    $dati_ut=explode("|",$utente);/considerando ogni riga come un array si
    separa ogni elemento dell'array con un |
    /
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0; /si
    controlla che il nick o la passwords nopn esistano
    /
    }
    if ($utente_ok==1)
    {
    if (empty($nick) | empty($password) | empty($nation) | empty($sex) |
    empty($hobbies))
    {
    echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O
    PIU' CAMPI</font></center><br><br>";
    echo "<center><font face="Verdana" size="2"><a
    href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
    }
    else /in caso in cui tutti i campi siano stati tutti riempiti/
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."|".$ip."\n";
    $ins_utente=fopen($file_reg,"a+");/si scive i dati dell'utente nel
    vettore-filre
    /
    fputs($ins_utente,$utente);
    fclose($ins_utente);
    echo "<center><font face="Verdana" size="3">SEI REGISTRATO ALLA CHAT.<br> PER ENTRARE E SCRIVERE NELLA CHAT, CHIUDI QUESTA FINESTRA DI CONFERMA DELL'AVVENUTA REGISTRAZIONE, ED EFFETTUA IL LOGIN INSERENDO NEI DUE RISPETTIVI CAMPI IL NICKNAME E LA PASSWORD SCELTI.</font></center>";
    }
    }
    else
    echo "<center>Nick o password già utilizzata.<br><a
    href="javascript:history.back();">Torna indietro</a><center>";
    ?>
    </body>
    </html>[/php]

    ah sappimi dire per tutte le altre richieste della mia risposta precedente, grazie!


  • Super User

    @giulio3x said:

    ok, quello che ti posto è il file ins_ut.php allo stato attuale con i POST (ho provato per curiosità a mettere i GET al posto dei POST ma la registrazione di un nuovo utente non viene permessa:

    ecco il file:
    [php]<?
    if(!isset($_POST['Submit']))
    {
    echo "
    <script language="javascript">
    alert("Non hai i permessi per accedere a questa pagina");
    </script>
    ";

        exit;
    

    }
    ?>
    <html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FBBEAA">
    <?
    include("config.php");
    $ip = $_SERVER['REMOTE_ADDR'];
    $nick=$_POST['nick'];
    $nick=strtolower($nick);/conversione della stringa del nick in minuscolo/
    $nick=stripslashes($nick);/toglie gli slashes aggiunti ad una stringa
    con addslòashes
    /
    $password=$_POST['password'];
    $password=strtolower($password);/conversione della stringa della
    password in minuscolo
    /
    $password_cr=crypt($password,$nick);/criptazione di tipo DES della
    password usando come chiave la stringa del nick
    /
    $password_cr=str_replace("|","*",$password_cr);/*questa la si definisce
    una criptazione aggiuntiva: se nella password criptata sono presenti
    | sono sostituiti con * /
    $age=(int)$_POST['age'];/qquio si verifica che eta sia intera ,altro controllo
    per la sicurezza
    /
    if(!(int)$age)
    {
    echo "
    <script>
    alert("Inserimento di un dato non numerico");
    history.back();
    </script>
    ";
    exit;
    }
    $sex=$_POST['sex'];
    $nation=$_POST['nation'];
    $hobbies=$_POST['hobbies'];
    $nation=stripslashes($nation);
    $hobbies=stripslashes($hobbies);
    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}
    $utente_ok=1;
    $ut_regist=file($file_reg);/si memorizza il file in un vettore ;ogni
    elemento del vettore corrisponde ad ogni riga del file
    /
    $dim_reg=count($ut_regist);/conta le righe del vettore/
    /ora che il file è un vettore era meglio utilizzare un foreach
    piuttosto che un for
    /
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist
    );/chop è alias di rtrim ed elimina spazi ed
    altro dalla fine del file in questo caso dalla riga in cui andremo a
    scrivere
    /
    $dati_ut=explode("|",$utente);/considerando ogni riga come un array si
    separa ogni elemento dell'array con un |
    /
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0; /si
    controlla che il nick o la passwords nopn esistano
    /
    }
    if ($utente_ok==1)
    {
    if (empty($nick) | empty($password) | empty($nation) | empty($sex) |
    empty($hobbies))
    {
    echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O
    PIU' CAMPI</font></center><br><br>";
    echo "<center><font face="Verdana" size="2"><a
    href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
    }
    else /in caso in cui tutti i campi siano stati tutti riempiti/
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."|".$ip."\n";
    $ins_utente=fopen($file_reg,"a+");/si scive i dati dell'utente nel
    vettore-filre
    /
    fputs($ins_utente,$utente);
    fclose($ins_utente);
    echo "<center><font face="Verdana" size="3">SEI REGISTRATO ALLA CHAT.<br> PER ENTRARE E SCRIVERE NELLA CHAT, CHIUDI QUESTA FINESTRA DI CONFERMA DELL'AVVENUTA REGISTRAZIONE, ED EFFETTUA IL LOGIN INSERENDO NEI DUE RISPETTIVI CAMPI IL NICKNAME E LA PASSWORD SCELTI.</font></center>";
    }
    }
    else
    echo "<center>Nick o password già utilizzata.<br><a
    href="javascript:history.back();">Torna indietro</a><center>";
    ?>
    </body>
    </html>[/php]ah sappimi dire per tutte le altre richieste della mia risposta precedente, grazie!
    Se il form della registrazione ha l'attributo method importato a post deve funzionare.


  • Super User

    non ho capito consa non funziona con post :():


  • User Attivo

    @ayrton2001 said:

    non ho capito consa non funziona con post :():

    no fermo...è con GET che adesso non funziona più nulla, per quello ho dovuto lasciare tutti i post, chiedevo a te se potevo lasciare questo file con tutti i POST o era meglio rimetterli a GET, visto e considerato che tutta la chat funzia cob GET.

    e poi sappimi dire per il formato della data...

    questo invece è il file di qualche mese fa e funzionava pure se aveva tutti i get:
    [PHP]<html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FBBEAA">
    <?
    include("config.php");
    $nick=$_GET['nick'];
    $nick=strtolower($nick);
    $nick=stripslashes($nick);
    $password=$_GET['password'];
    $password=strtolower($password);
    $password_cr=crypt($password,$nick);
    $password_cr=str_replace("|","*",$password_cr);
    $age=$_GET['age'];
    $sex=$_GET['sex'];
    $nation=$_GET['nation'];
    $hobbies=$_GET['hobbies'];

    $nation=stripslashes($nation);
    $hobbies=stripslashes($hobbies);
    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}
    $utente_ok=1;
    $ut_regist=file($file_reg);
    $dim_reg=count($ut_regist);
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist*);
    $dati_ut=explode("|",$utente);
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0;
    }
    if ($utente_ok==1)
    {
    if (empty($nick) | empty($password) | empty($nation) | empty($sex) | empty($hobbies))
    {
    echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O PIU' CAMPI</font></center><br><br>";
    echo "<center><font face="Verdana" size="2"><a href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
    }
    else
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."\n";
    $ins_utente=fopen($file_reg,"a+");
    fputs($ins_utente,$utente);
    fclose($ins_utente);
    echo "<center>Sei registrato alla chat.<br> <a href="login.php">Vai al login</a></center>";
    }
    }
    else
    echo "<center>Nick o password già utilizzata.<br><a href="javascript:history.back();">Torna indietro</a><center>";
    ?>
    </body>
    </html>
    [/PHP]


  • Super User

    @giulio3x said:

    no fermo...è con GET che adesso non funziona più nulla, per quello ho dovuto lasciare tutti i post, chiedevo a te se potevo lasciare questo file con tutti i POST o era meglio rimetterli a GET, visto e considerato che tutta la chat funzia cob GET.

    e poi sappimi dire per il formato della data...

    questo invece è il file di qualche mese fa e funzionava pure se aveva tutti i get:
    [php]<html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#FBBEAA">
    <?
    include("config.php");
    $nick=$_GET['nick'];
    $nick=strtolower($nick);
    $nick=stripslashes($nick);
    $password=$_GET['password'];
    $password=strtolower($password);
    $password_cr=crypt($password,$nick);
    $password_cr=str_replace("|","*",$password_cr);
    $age=$_GET['age'];
    $sex=$_GET['sex'];
    $nation=$_GET['nation'];
    $hobbies=$_GET['hobbies'];

    $nation=stripslashes($nation);
    $hobbies=stripslashes($hobbies);
    if (!(file_exists($file_reg)))
    {fopen($file_reg,"w");}
    $utente_ok=1;
    $ut_regist=file($file_reg);
    $dim_reg=count($ut_regist);
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist*);
    $dati_ut=explode("|",$utente);
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( ($nick==$nick_ut) | ($password_cr==$pass_ut) ) $utente_ok=0;
    }
    if ($utente_ok==1)
    {
    if (empty($nick) | empty($password) | empty($nation) | empty($sex) | empty($hobbies))
    {
    echo "<center><font face="Verdana" size="2">NON HAI RIEMPITO UNO O PIU' CAMPI</font></center><br><br>";
    echo "<center><font face="Verdana" size="2"><a href="javascript:history.back();">TORNA INDIETRO</a></font></center>";
    }
    else
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."\n";
    $ins_utente=fopen($file_reg,"a+");
    fputs($ins_utente,$utente);
    fclose($ins_utente);
    echo "<center>Sei registrato alla chat.<br> <a href="login.php">Vai al login</a></center>";
    }
    }
    else
    echo "<center>Nick o password già utilizzata.<br><a href="javascript:history.back();">Torna indietro</a><center>";
    ?>
    </body>
    </html>
    [/php]
    Stai facendo un po di confusione.
    Allora quando dici non funziona piuù... cosa? La registrazione, l'inserimento o altro?
    La registrazione dovrebbe andare sempre che il form abbia method="post"


  • User Attivo

    ok dai lascierò con tutti i post tanto funziona lo stesso...

    ho però una brutta notizia da darti... anche se abbiamo fatto il blocco del reinvio del messaggio, il solito utente quando mi scrive sulla chat, compare il messaggio due volte, dimmi qualcosa a riguardo. prima non lo faceva e per prima intendo prima di fare la modifica alla pagina messaggi.php e del maintenance.php...:?:bho:

    cosa cavolo può essere...❌?:(😢


  • Moderatore

    domanda:
    a te capita?
    sai con che browser?


  • Super User

    @giulio3x said:

    ok dai lascierò con tutti i post tanto funziona lo stesso...

    ho però una brutta notizia da darti... anche se abbiamo fatto il blocco del reinvio del messaggio, il solito utente quando mi scrive sulla chat, compare il messaggio due volte, dimmi qualcosa a riguardo. prima non lo faceva e per prima intendo prima di fare la modifica alla pagina messaggi.php e del maintenance.php...:?:bho:

    cosa cavolo può essere...❌?:(😢
    La funzione della disabilitazione del pulsante a te funziona? Ossia se clicchi su inserisci viene disabilitato il pulsante? Potrebbe darsi che non te ne rendi conto perchè magari tu hai una connessione veloce e lui no, oppure tu provi quando non c'è nesuno o in locale. Assicurati che il tasto venga veramente disabilitato. Puoi anche scrivere un messaggio e "mitragliare" sul pulsante.