J'ai actuellement un formulaire qui demande l'adresse e-mail de l'utilisateur, son numéro de téléphone cellulaire et son support cellulaire. Aucun des champs n'est marqué comme obligatoire, car je n'ai besoin que de l'adresse électronique ou du numéro de cellulaire. Le formulaire se soumet parfaitement bien si l'utilisateur saisit à la fois le courriel et le numéro de téléphone ou seulement le numéro de téléphone et pas de courriel. Toutefois, le formulaire ne sera pas envoyé si l'utilisateur tente de le soumettre avec un e-mail et aucun numéro de téléphone. En d'autres termes, un numéro de téléphone est requis pour que le formulaire fonctionne.Le formulaire ne sera pas envoyé à moins qu'un champ non obligatoire particulier soit rempli (PHP)
Comment puis-je empêcher cela? Je voudrais que l'utilisateur puisse entrer juste leur email ou juste le téléphone; aucun ne devrait être obligatoire. Toute aide serait grandement appréciée.
J'ai également un problème de validation du numéro de téléphone (FILTER_VALIDATE_INT ne fonctionne pas avec les numéros à 10 chiffres), mais c'est un problème que je vais aborder plus tard.
Le code pour la forme est comme suit:
<form action="insert.php" method="post" id="signup">
<p>
<input type="text" id="email" name="email" value="E-mail" /><br/>
<input type="text" id="phone" name="phone" value="Phone" /><br/>
<select id="carrier" name="carrier">
<option value="" selected="selected">Carrier</option>
<option value="att">AT&T</option>
<option value="sprint">Sprint</option>
<option value="tmobile">T-Mobile</option>
<option value="verizon">Verizon</option>
</select>
</p>
<p>
<input type="image" src="images/button.gif" alt="Register!" />
</p>
</form>
Le code pour le script PHP est comme suit:
<?php
$con = mysql_connect("dbhost","dbuser","dbpass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbname", $con);
$filters = array(
"email"=> FILTER_VALIDATE_EMAIL,
"phone" => FILTER_VALIDATE_INT,
);
$result = filter_input_array(INPUT_POST, $filters);
if (!$result["email"])
{
echo("E-mail is invalid.<br />");
}
elseif(!$result["phone"])
{
echo("Phone is invalid.<br />");
}
else
{
$sql="INSERT INTO dbtable (email,phone,carrier)
VALUES
('$_POST[email]','$_POST[phone]','$_POST[carrier]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
mysql_close($con);
header('Location: http://pagename.com');
}
?>
Bugger! Tu m'as battu par TELLEMENT ... Ta réponse est correcte, donc je ne posterai pas la mienne. –
Merci beaucoup! Certainement juste bâclé de ma part. J'apprécie vraiment l'aide. – ARP
Aucun problème, codage heureux. –