- Home
- Categorie
- Coding e Sistemistica
- PHP
- Ho un problema alla mia chat e cerco qualcuno che mi aiuti a risolverlo
-
Ci sarò (almeno spero )
Però mi segno che mi devi un favore
-
-
ciao ayrton, ho notato che a volte il messaggio a qualche utente viene adirittura scritto due volte perchè?:?
altra curiosità:
c'è un modo per sapere l'indirizzo ip delle persone che scrivono in chat, e se si come si può fare? grazie!
-
ayrton... ho notato che ad un utente il messaggio viene scritto due volte come mai? :bho:
-
ad uno in particolare?
a te capita?
-
@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?
-
ayrton rispondi...da cosa può dipendere?:x
-
@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
-
nessuna risposta?
-
@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']
-
@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 waitSubmitfunction 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
-
@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...
-
@ayrton2001 said:
Tramite javascript
Per esempio all'onsubmit del forum chiami la funzione waitSubmitfunction 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!:)
-
-
@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.
- poi il pezzo di codice per il disabilito del reinvio dove devo inserirlo?
-
@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?
-
Mandami i tuoi dati via PM cosi ti mando la fattura eheheheh!!!
-
@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
-
@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!!!
@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ù
-
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?
-
@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]