2012-11-22 1 views
0
if(isset($_POST['submit'])){ 

$domain=$_POST['domain']; 
$fname=$_POST['fname']; 
$sname=$_POST['sname']; 
$tel=$_POST['tel']; 
if($domain==""){ 
    $error="<h4>Enter Domain </h4>";  
}elseif($fname == ""){ 
    $error="<h4>Enter Firstname </h4>"; 
}elseif($sname == "") 
{ 
    $error="<h4 >Enter Surname</h4>"; 
}elseif($tel=="") 
{ 
    $error="<h4 >Enter telephono no</h4>"; 
} 
else { 

$sql11=mysql_query("INSERT INTO domain VALUES('','$domain','$fname','$sname','$tel','$mobile','$email','$company','$address','$city','$country','$pcode','$tele', 
'$fax','$qus','$ans')"); 
echo $sql; 
$db->query($sql); 

    } 
    } 
<div><?php echo $error; ?></div> 
<form action="" method="post" name="classic_form" id="classic_form"> 
<div><h4>Personal details:</h4></div><div style="margin-left: 109px;"> 
      <div>Domain</div> 
    <input type="text" name="domain" id="domain" value="" /> 
    <div>First name: </div> 
    <input type="text" name="fname" id="fname" value="" /> 
    <div>Surname:</div> 
    <input type="text" name="sname" id="sname" value="" /> 
    <div>Telephone:</div> 
    <input type="text" name="tel" id="tel" value="" /> 
    <div>Mobile:</div> 
    </form> 

Dans ma page d'inscription, j'ai utilisé la validation php. Après que l'utilisateur a envoyé le formulaire s'il présente des erreurs de validation, il réinitialise également tous les champs. Comment puis-je résoudre ce problème? Sans réinitialiser les champs, je dois montrer les erreurs de validation php. J'ai également utilisé dans chaque valeur d'entrée. Mais il montre "Avis: Indéfini index: domaine dans D: \ xampp \ htdocs \ deena \ domainereg.php sur la ligne 82". S'il vous plaît aidez-moi à résoudre ce problèmeValidation PHP réinitialise les champs du formulaire

Répondre

2
<input type="text" name="domain" id="domain" value="<?php echo isset($domain) ? $domain : ''; ?>" /> 
+0

Merci beaucoup cela fonctionne bien –

+0

@RithuPsks: Bienvenue – som

+0

Ne pas simplement sortir '$ domain', utilisez' htmlspecialchars' pour éviter les scripts inter-site! Le code que, serait: ' ' – Armin

2

Vous devez transmettre toutes vos valeurs à php, et renvoyer au format HTML pour alimenter vos champs.

+0

Merci beaucoup pour la réponse. Pouvez-vous m'expliquer comment faire cela en utilisant un petit exemple –

1

Ce n'est pas 'réinitialisation de vos champs' .. Votre formulaire est soumis, d'où la page est en cours de réinitialisation et les champs sont donc chargement vide. Placez les valeurs $_POST[] dans les valeurs de champ lors du chargement de la page:

<input type="text" name="domain" id="domain" value="<?php echo $domain ?>" /> 
<div>First name: </div> 
<input type="text" name="fname" id="fname" value="<?php echo $fname?>" /> 
<div>Surname:</div> 
<input type="text" name="sname" id="sname" value="<?php echo $sname?>" /> 
<div>Telephone:</div> 
<input type="text" name="tel" id="tel" value="<?php echo $tel?>" /> 
1

Simple. Il suffit d'ajouter les variables aux valeurs d'entrée:

<input type="text" name="domain" id="domain" value="<?php echo $domain; ?>" /> 

Vous devez également protéger la valeur en sortie, contre cross site scripting:

<input type="text" name="domain" id="domain" value="<?php echo htmlspecialchars($domain); ?>" /> 
+0

Si j'ai ajouté la valeur d'entrée comme vous l'avez mentionné, j'ai reçu un avis comme ceci: Indéfini index: domaine dans D: \ xampp \ htdocs \ deena \ domainreg.php à la ligne 82 –

+1

Merci beaucoup. Il fonctionne maintenant. –

1

Dans le champ Valeur:

<input type="text" name="domain" id="domain" 
    value="<?php if(isset($_POST['domain'])){echo $_POST['domain'];} ?>"> 

N'a pas testé. Mais je pense que ça devrait marcher.

1

dans la balise d'entrée ajouter la valeur php comme comme value = « » Alors qu'il se fera l'écho si la variable est affichée, ou il affichera les vides d'une

Questions connexes