• User Attivo

    ayrton... ho notato che ad un utente il messaggio viene scritto due volte come mai? :bho:


  • Moderatore

    ad uno in particolare?
    a te capita?


  • User Attivo

    @massimux said:

    ad uno in particolare?
    a te capita?

    no per ora mai, e si da quando ho fatto la modifica al solito utente adesso sempre due volte, da cosa può dipendere?


  • User Attivo

    ayrton rispondi...da cosa può dipendere?:x


  • User Attivo

    @ayrton2001 said:

    Una curiosità. Magari non è inerente al problema, ma dopo il submit del messaggio disabiliti il reinvio? Se la risposta è no i doppioni possono presentarsi credo

    forse è per questo e come faccio allora a disabilitare il reinvio?:x


  • User Attivo

    nessuna risposta?😢


  • Super User

    @giulio3x said:

    c'è un modo per sapere l'indirizzo ip delle persone che scrivono in chat, e se si come si può fare? grazie!

    $_SERVER['REMOTE_ADDR']


  • Super User

    @giulio3x said:

    forse è per questo e come faccio allora a disabilitare il reinvio?:x

    Tramite javascript
    Per esempio all'onsubmit del forum chiami la funzione waitSubmit

    function waitSubmit() {
    var subValue = document.name del form.name dell'input submit.value;
    if(subValue!="Attendere") { // Se non ha inviato
    subValue = "Attendere";
    document.name del form.name dell'input submit.disabled = "true"; //Disabilito il pulsante
    document.name del form.submit();
    }
    }

    Non ho provato il codice, dunque non so se ho commesso qualche errore


  • Super User

    @giulio3x said:

    nessuna risposta?😢

    Scusa ma ho avuto una marea di appuntamenti, tanto lavoro ed in più una mia tartaruga ha morso l'altra dunque farmacia, cure, etc... 😞


  • User Attivo

    @ayrton2001 said:

    Tramite javascript
    Per esempio all'onsubmit del forum chiami la funzione waitSubmit

    function waitSubmit() {
    var subValue = document.name del form.name dell'input submit.value;
    if(subValue!="Attendere") { // Se non ha inviato
    subValue = "Attendere";
    document.name del form.name dell'input submit.disabled = "true"; //Disabilito il pulsante
    document.name del form.submit();
    }
    }

    Non ho provato il codice, dunque non so se ho commesso qualche errore

    ciao ayrton e grazie!!!

    • 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)

    • poi il pezzo di codice per il disabilito del reinvio dove devo inserirlo?
      e mi spiego su quale pagina? proprio dopo il bottone invia messaggio nella pagina chat, oppure lo inserisco su insert.php oppure sulla pagina messaggi.php?

    grazie mille ayrton!:)


  • Super User

    @giulio3x said:

    • poi il pezzo di codice per il disabilito del reinvio dove devo inserirlo?
      e mi spiego su quale pagina? proprio dopo il bottone invia messaggio nella pagina chat, oppure lo inserisco su insert.php oppure sulla pagina messaggi.php?

    grazie mille ayrton!:)

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

    Il javascript va insieme alla funzione aggiungi:
    <script language="javascript">
    function aggiungi(y)
    {
    espressione=document.form_ins.messaggio.value;
    new_espressione=espressione + y;
    document.form_ins.messaggio.value=new_espressione;
    }
    function checkSubmit() {
    var subValue = document.form_ins.Submit.value;
    if(subValue!="Attendere") { // Se non ha inviato
    subValue = "Attendere";
    document.form_ins.Submit.disabled = "true"; //Disabilito il pulsante
    return true;
    } else {
    return false;
    }
    }
    </script>

    Ho modificato la funzione, questa dovrebbe andare.


  • 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?