[PHP] Tester si un nombre premier

Résolu
Zahra_T Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -  
Zahra_T Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J’essai de programmer une page php dans la quel se trouve un formulaire (zone texte + bouton submit) pour tester si un nombre entrer dans la zone texte est premier ou non et afficher le résultat dans la même page.
voici le code:

///////////////////////////////////////////////////////
<html>
<head>
<title> premier </title>
<link rel="stylesheet" type="text/css" href= "style.css">
</head>

<body>
<div>
<form name="formulaire" method="POST" action="premier.php">
<label> Entrer l'entier à testé </label><br \><br \>
<input type="text" name="entier" size=5 Maxlength=3>
<blink> <input type="submit" value="Testez" name="entier"> </blink>
<br \><br \>
<label>

<?php
function premier($a)
{
$nbdiv=0;
if(($a<0) || ($a=0))
{
echo " Entrée non valide <br \> Réessayez d'entrez un entier de nouveau";
}
else
{
for($i=1; $i<=$a; $i++)
{
$rest=$a%$i;
if($rest=0)
$nbdiv++;
}
if($nbdiv = 2)
echo $a." est premier";
else
echo $a." n'est pas premier";
}

}

$tmp=premier($entier); // $tmp=premier($_POST['entier']);

?>

</label>
</form>
</div>

</body>
</html>
//////////////////////////////////////////////////////

il y a deux problème que se code produit.
1- lorsque je tape un nombre dans la zone texte et je clic sur le boutton le nombre s'efface
2- l'affichage du résultat reste toujours "0 est un nombre premier"

kelk1 peut m'aider??
Merci d'avance
A voir également:

4 réponses

JR des cavernes Messages postés 152 Date d'inscription   Statut Membre Dernière intervention   84
 
De rien...

Il t'affiche au premier "Entrée non valide Réessayez d'entrer un entier de nouveau" car la variable $_POST['entiertxt'] n'existe pas à ce moment là est la fonction est quand même appelée.
Pour éviter cela tu peux faire un test sur l'existence de la variable :


if(isset($_POST['entier']))
{
$tmp=premier($_POST['entier']);
}
2