salve a tutti
vi mostro il mio problema:
register.php
Codice PHP:
<form onSubmit="window.open('ins_ut.php','ins_ut','width=500%,height=800,scrollbars=yes')" method="POST" action="ins_ut.php">
<table width="317" align="center" cellpadding="4" bordercolor="#000000" bgcolor="#F8EBC2" style="border:1px solid">
<tr>
<td colspan="2" bgcolor="#FBD6BD"><div align="center">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]REGISTRAZIONE
IN CHAT[/b]</font></div></td>
</tr>
<tr>
<td width="179"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]
*Nick: es: luigi(ve)[/b]</font></td>
<td width="114"><input name="nick" type="text" id="nick" size="18" maxlength="20"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*Password:[/b]</font></td>
<td width="114"><input name="password" type="password" id="nick3" size="18" maxlength="20"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*Età:[/b]</font></td>
<td width="114"><input name="age" type="text" id="password" size="4" maxlength="2"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*Sesso:[/b]</font></td>
<td width="114"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">maschio</font>
<input type="radio" name="sex" value="maschio" checked>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">femmina</font>
<input type="radio" name="sex" value="femmina"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*Città:[/b]</font></td>
<td width="114"><input name="nation" type="text" id="password3" size="18" maxlength="20"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*E-mail: [/b]</font></td>
<td width="114"><input name="hobbies" type="text" id="nation" size="18" maxlength="50"></td>
</tr>
<tr>
<td colspan="2"><div align="center"><input type="submit" name="Submit" value="Registrati alla chat" ></td>
</tr>
</table>
</form>
ins_ut.php
Codice PHP:
<?
if(!isset($_POST['Submit']))
{
echo "
<script language=\"javascript\">
alert(\"Non hai i permessi per accedere a questa pagina\");
self.location.replace(\"register.php\");
</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");
$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[$i]);/*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>
";
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."\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>Sei registrato alla chat.
<a href=\"login.php\">Vai al login</a></center>";
}
}
else
echo "<center>Nick o password già utilizzata.
<a href=\"javascript:history.back();\">Torna indietro</a><center>";
?>
</body>
</html>
il mio problema è che su onsubmit mi apre la finestra, ma non mi esegue il php ma solo le istruzioni javascript
ad esermpio
if(!(int)$age)
{
echo "
<script>
alert(\"Inserimento di un dato non numerico\");
history.back();
</script>
";
exit;
}
mi esegue solo quello CHE Cè IN JAVASCRIPT OSSIA ALERT + HISTORY.BACK
RAGIONANDO , SE IL JAVASCRIPT è CLIENT-SIDE ED IL PHP SERVER-SIDE SIGNIFICA FORSE CHE APRENDO DEL CODICE PHP IN UNA FINESTRA CON JAVASCRIPT IL JAVASCRIPT NON VEDE OSSIA NON TRAduce il php?