Problema con invio dati da tastiera...

seantony

Nuovo Utente
23 Gen 2008
10
0
0
Ho un altro rompicapo:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="email" target="_self" id="email">
<div align="center">Email:<span class="Stile1">________</span><br>
<input name="submit" type="submit" id="invia" value="Richiedi" />
<span class="Stile1">_</span>
<input name="email" type="text" size="30" />
<br>
</div>
</form>
<?php
}
?>
</div>

dove sbaglio?
Quando clicco sul pulsante per inviare i dati va bene, ma se faccio invio da tastiera niente da fare..

Qualcuno mi aiuta?
 
Ti posto tutto il codice della pagina, magari puoi aiutarmi.


<?php
// controllo sul parametro d'invio
if(isset($_POST['submit']) && (trim($_POST['submit']) == "Richiedi"))
{
//controllo sul formato dell'email
if((!isset($_POST['email'])) || (!eregi("^([a-z0-9\._-]+)(@[a-z0-9.-]+)(\.{1}[a-z]{2,4})$", $_POST['email'])))
{
// parametro non corretto
@include "formato_non_valido.php";
}else{
// se il parametro è corretto interroghiamo il database
$email = $_POST['email'];

// includiamo il file di configurazione
@include "config.php";

$ctrl_mail = @mysql_query("SELECT nome, username, password FROM registrazione_utenti WHERE email='$email'") or die (mysql_error());
if(@mysql_num_rows($ctrl_mail) == 0)
{
@include "email_inesistente.php";
}else{
//recuperiamo la password
if($ctrl_obj = @mysql_fetch_object($ctrl_mail) or die (mysql_error()))
{
// messaggio di conferma
@include "user_e_pws_inviati.php";

// email per la conferma
// intestazioni
$headers = "From: $admin_email\nreply-To: noreply\r\n";
$subject = "Richiesta Dati.";
// corpo del messaggio
$messaggio = "Ciao $ctrl_obj->nome, i tuoi dati di accesso a chesfiga.com sono:\n";
$messaggio .= "Username: ".$ctrl_obj->username."\n";
$messaggio .= "Password: ".$ctrl_obj->password."\n";
// invio dell'email
@mail($email, stripslashes($subject),stripslashes($messaggio),$headers);
}
}
}
}else{
// form per la richiesta
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head>

<style type="text/css">
<!--
.Stile1 {color: #FFFFFF}
.Stile7 {font-size: 24px}
-->
</style>

<h1 align="center">&nbsp;</h1>


<div align="center">
<table width="653" border="0">
<!--DWLayoutTable-->
<tr>
<th height="90" colspan="3" valign="top"><div align="center"><img src="../CheSfiga Logo ok3.jpg" width="286" height="88" align="middle"></div></th>
</tr>
<tr>
<th width="90" height="69">&nbsp;</th>
<th width="466">&nbsp;</th>
<th width="83">&nbsp;</th>
</tr>
<tr>
<th height="73">&nbsp;</th>
<th valign="top"><p align="center" class="Stile7">Hai dimenticato i dati di accesso?</p> <p align="center" class="Stile7">Inserisci la tua email</p></th>
<th>&nbsp;</th>
</tr>
</table>
<span class="Stile1">__________________:_____</span></div>
<div align="center">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="email" target="_self" id="email">
<div align="center"><br>
<input name="submit" type="submit" id="invia" value="Richiedi" />
<input name="email" type="text" size="30" />
<br>
</div>
</form>
<?php
}
?>
</div>
</body>
</head>
 
Mi sembra proprio un problema di browser. Per aggirarlo basta un pizzico di javascript:

<script>
function on_key_press(event,form) {
if (event && event.which == 13)
form.submit();
else
return true;
}
</script>

e nella form richiami la funzione sull'evento keypress:

<form name="blabla" ... onkeypress="on_key_press(event,this);">
 
Grazie infinite, alla fine ho risolto con la funzione "wordwrap" ci ho perso una settimana...
 
Se ti avanza tempo posta il codice, può essere utile per gli altri utenti :mavieni:
 

Discussioni simili