- Home
- Categorie
- Coding e Sistemistica
- PHP
- Ho un problema alla mia chat e cerco qualcuno che mi aiuti a risolverlo
-
non ho capito consa non funziona con post :():
-
@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]
-
@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"
-
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...?:(
-
domanda:
a te capita?
sai con che browser?
-
@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.
-
@ayrton2001 said:
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.
ciao ayrton, ma certo che funziona perchè il pulsante appena io invio il messaggio il pulsante vedo che si disabilita e anche ho provato a mitragliarlo, me non succede e nemmeno agli altri, ma a questo utente prima non gli faceva questo problema perchè scriveva e veniva solo una volta scritto il messaggio.
un caso del genere prima di queste nostre modifiche capitava ad un'altro utente quando io avevo provato la funzione flock...allora a quell'altro utente i messaggi comparivano due volte ma a me e agli altri non succedeva...
che possa dipendere allora ayrton dal flock che hai inserito su maintenance.php?
ciao!:?
-
@giulio3x said:
ciao ayrton, ma certo che funziona perchè il pulsante appena io invio il messaggio il pulsante vedo che si disabilita e anche ho provato a mitragliarlo, me non succede e nemmeno agli altri, ma a questo utente prima non gli faceva questo problema perchè scriveva e veniva solo una volta scritto il messaggio.
un caso del genere prima di queste nostre modifiche capitava ad un'altro utente quando io avevo provato la funzione flock...allora a quell'altro utente i messaggi comparivano due volte ma a me e agli altri non succedeva...
che possa dipendere allora ayrton dal flock che hai inserito su maintenance.php?
ciao!:?
Non credo dipenda da flock. Innanzitutto che browser utilizza? ha javascript abilitato? Fai una prova: disabilita javascript e mitraglia 4/5 volte
-
@ayrton2001 said:
Non credo dipenda da flock. Innanzitutto che browser utilizza? ha javascript abilitato? Fai una prova: disabilita javascript e mitraglia 4/5 voltema guarda che sei davvero bravo sai... ho disabilitato java e ho inviato 5 volte e porca miseria me l'ha scritto 5 volte....allora cosa devo fare? devo dire a questo utente di abilitare javascript o cosa mi cosigli?comunque sei preparatissimo bravo hai risolto anche questo mistero!
- e poi... 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?
- e poi... ho in mente di cambiare il formato della data io ora uso questo:
-
@giulio3x said:
ma guarda che sei davvero bravo sai... ho disabilitato java e ho inviato 5 volte e porca miseria me l'ha scritto 5 volte....allora cosa devo fare? devo dire a questo utente di abilitare javascript o cosa mi cosigli?comunque sei preparatissimo bravo hai risolto anche questo mistero!
- e poi... 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?
Mizzica... arrossisco. Comunque mi sento portato e mi piace il problem solving :).
Ora sono un po indaffarato. Appena posso penso ad una soluzione (se c'è)
- e poi... ho in mente di cambiare il formato della data io ora uso questo:
-
un amico ha fatto questo per le date spero ti possa essere utile
-
@massimux said:
un amico ha fatto questo per le date spero ti possa essere utile
forte massimux, grazie infinite, proprio al mio caso, e poi è utile nel caso vorrò più avanti apportare altre modifiche all'ora o alla data, molte grazie!!!;)
-
@giulio3x said:
- e poi... 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?
[".date("H:i - d/m/y")."]
con y minuscolo
- e poi... ho in mente di cambiare il formato della data io ora uso questo:
-
@giulio3x said:
ma guarda che sei davvero bravo sai... ho disabilitato java e ho inviato 5 volte e porca miseria me l'ha scritto 5 volte....allora cosa devo fare? devo dire a questo utente di abilitare javascript o cosa mi cosigli?comunque sei preparatissimo bravo hai risolto anche questo mistero!
Forse si potrebbe risolvere in un modo.Non so quale è il tuo ultimo insert.php
Prendo uno postato tempo fa come esempio:
[php] <html>
<head>
<title>Inserimento del messaggio</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
include("config.php");
$nick=$_GET['nick'];
$password=$_GET['password'];
$messaggio=$_GET['messaggio'];
$messaggio=stripslashes($messaggio);
$messaggio=str_replace("\n"," ",$messaggio);
$commento="[".date("H:i - d/m/Y")."] ".$nick."|".$messaggio."\n";
if ( !empty($_GET['faccina']) ) $commento = $_GET['faccina']." ".$commento ;
$url="chat.php"."?nick=".$nick."&password=".$password;
if ( !empty($_GET['faccina']) ) $url .= "&faccina=".$_GET['faccina'] ;$cercamsg = strstr($messaggio,"<");
$cercamsg2 = strstr($messaggio,">");if (empty($messaggio))
{
Header("Location: $url");
}
elseif ($cercamsg & $cercamsg2)
{
Header("Location: $url");
}
else
{
$apri_file=fopen($file_mess,"a+");
fputs($apri_file,$commento);
fclose($apri_file);
Header("Location: $url");
}
?>
</body>
</html>[/php]Innanzitutto togli l'html iniziale e finale:
[php]<?
include("config.php");
$nick=$_GET['nick'];
$password=$_GET['password'];
$messaggio=$_GET['messaggio'];
$messaggio=stripslashes($messaggio);
$messaggio=str_replace("\n"," ",$messaggio);
$commento="[".date("H:i - d/m/Y")."] ".$nick."|".$messaggio."\n";
if ( !empty($_GET['faccina']) ) $commento = $_GET['faccina']." ".$commento ;
$url="chat.php"."?nick=".$nick."&password=".$password;
if ( !empty($_GET['faccina']) ) $url .= "&faccina=".$_GET['faccina'] ;$cercamsg = strstr($messaggio,"<");
$cercamsg2 = strstr($messaggio,">");if (empty($messaggio))
{
Header("Location: $url");
}
elseif ($cercamsg & $cercamsg2)
{
Header("Location: $url");
}
else
{
$apri_file=fopen($file_mess,"a+");
fputs($apri_file,$commento);
fclose($apri_file);
Header("Location: $url");
}
?>[/php]Poi inserisci queste righe all'inizio:
[php]<?
//inizio nuove righe
ob_start();
echo '...attendere...';
ob_flush();
flush();
//fine nuove righe
include("config.php");
$nick=$_GET['nick'];
$password=$_GET['password'];
//...
?>[/php]Fammi sapere
-
ok ayrton come sempre grazie, ora ho apportato le modifiche e poi quando l'utente scriverà nuovamente ti faccio sapere...:)
-
@giulio3x said:
ok ayrton come sempre grazie, ora ho apportato le modifiche e poi quando l'utente scriverà nuovamente ti faccio sapere...:)
Prova prima tu. Io non so se così si risolve il problema.
In pratica faccio visualizzare subito la pagina insert senza aspettare il salvataggio sul file del messaggio.
-
@ayrton2001 said:
Prova prima tu. Io non so se così si risolve il problema.
In pratica faccio visualizzare subito la pagina insert senza aspettare il salvataggio sul file del messaggio.ah ok, si a me funziona lo stesso come prima cioè ho provato a disabilitare javascript e ho premuto 3 volte il tasto e me l'ha inviato 3 volte...quindi credo che non si sia risolto nulla purtroppo...
ho notato un altro particolare...adesso quando faccio partire il maintenance il file non si rimpicciolisce più come mai?
-
@giulio3x said:
ah ok, si a me funziona lo stesso come prima cioè ho provato a disabilitare javascript e ho premuto 3 volte il tasto e me l'ha inviato 3 volte...quindi credo che non si sia risolto nulla purtroppo...
Credo ci sia poco da fare.@giulio3x said:
ho notato un altro particolare...adesso quando faccio partire il maintenance il file non si rimpicciolisce più come mai?
Quante righe contiene? Forse meno di 70?
-
@ayrton2001 said:
Credo ci sia poco da fare
Quante righe contiene? Forse meno di 70?
no, non dirmi questo, ci sarà pure un modo per ovviare a questo problema, dai che tu sai tutto;), è un problema di javascript giusto? ci sarà un codice java che ovvia al problema, sennò sono cavoli
per via del file maintenance, ora è tornato a funzionare tutto come deve...
-
@giulio3x said:
no, non dirmi questo, ci sarà pure un modo per ovviare a questo problema, dai che tu sai tutto;), è un problema di javascript giusto? ci sarà un codice java che ovvia al problema, sennò sono cavoli
per via del file maintenance, ora è tornato a funzionare tutto come deve...
Se l'utente ha javascript (non java quella è un'altra cosa) disabilitato qualunque funzione javascript non funzionera.
Digli al tuo utente di tenere il dito calmo
Se mi viene in mente qualcosa te lo faccio sapere.