[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 -
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
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:
- Phptester
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Tester composant pc - Guide
- Cheick yvann premier jour - Forum Wii U
- Nombre de jours entre deux dates excel - Guide
4 réponses
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']);
}
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']);
}