Php:les if imbriqué
infor3lmd
Messages postés
112
Statut
Membre
-
infor3lmd Messages postés 112 Statut Membre -
infor3lmd Messages postés 112 Statut Membre -
Bonjour,
j'ai fait ce code et j'ai rencontrai un problème :
les deux boucle if(isset($_POST['creation1'])) et if(isset($_POST['creation2']))
sont excuté selon le choix mon choix si je choisis Q C M c'est la boucle if(isse($_POST['creation2'])) qui est exécuté mais voila le message d'erreur :
soumission de la requete SELECT id_typ FROM type WHERE typ = ''
ce type néxiste pas
Notice: Undefined variable: sujet in C:\Program Files\EasyPHP 2.0b1\home\typeform.php on line 546
comment faire pour que la variable $sujet sera définit ?
je vous remerciez d'avance
j'ai fait ce code et j'ai rencontrai un problème :
<?php //connexion a la base
?>
<html>
<head>
</head>
<body>
le formulaire 1
<form method="post" action="typeform.php">
<input type="radio" name="tope" value="Q C M"/> Q C M <br>
<input type="radio" name="tope" value="Q C U"/> Q C U <br>
<input type="radio" name="tope" value="Q ouvert"/> Q Ouvert
<br><br>
<input type="submit" value="ok" name="ok">
</form>
<?php $type = ''; if(isset($_POST['tope'])) { $type = $_POST['tope'] ; }
if( $type == "Q ouvert" or $type == "Q C U" )
{ ?>le formulaire 2
<form method="post" action="typeform.php" >
-----un formulaire en html-----
<input type="submit" name="creation1" value="valider" />
</form>
<?php }
if(isset($_POST['creation1']))
{
$sqltyp = "SELECT id_typ FROM type WHERE typ = '$type' " ;
echo "soumission de la requete $sqltyp<br>";
$reqtyp = mysql_query($sqltyp,$connexion) or die("selection impossible : $sqltyp".mysql_error());
$resltyp = mysql_fetch_assoc($reqtyp);
if( $resltyp !== FALSE )
{$tp = $resltyp['id_typ'] ; }
else { echo 'ce type néxiste pas '; }
//suivie des autres requete sql
}
elseif($type == "Q C M" )
{ ?> le formulaire 3
<form method="post" action="typeform.php" >
----------un formulaire en html-----------
<input type="submit" name="creation2" value="valider" />
</form>
<?php }
if(isset($_POST['creation2']))
{ $sqltyp = "SELECT id_typ FROM type WHERE typ = '$type' " ;
echo "soumission de la requete $sqltyp<br>";
$reqtyp = mysql_query($sqltyp,$connexion) or die("selection impossible : $sqltyp".mysql_error());
$resltyp = mysql_fetch_assoc($reqtyp);
if( $resltyp !== FALSE )
{$tp = $resltyp['id_typ'] ; }
else { echo 'ce type néxiste pas '; }
//suivie des autres requete sql
}
?>
</body>
</html>
les deux boucle if(isset($_POST['creation1'])) et if(isset($_POST['creation2']))
sont excuté selon le choix mon choix si je choisis Q C M c'est la boucle if(isse($_POST['creation2'])) qui est exécuté mais voila le message d'erreur :
soumission de la requete SELECT id_typ FROM type WHERE typ = ''
ce type néxiste pas
Notice: Undefined variable: sujet in C:\Program Files\EasyPHP 2.0b1\home\typeform.php on line 546
comment faire pour que la variable $sujet sera définit ?
je vous remerciez d'avance
A voir également:
- Php:les if imbriqué
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Bonjour.
Au début de ton code, tu l'a bien instanciée:
Mais en effet, si tu ne remplis pas le contrôle nommé tope dans ton formulaire qui appelle la page, bah sa remplira pas la variable $type.
Je comprends pas tout ce que tu a voulu faire, mais visiblement, tu a l'intention de garder la valeur de $type au dela de deux appels à la page: utilise donc dans ce cas les sessions (session_start() en début de page, puis $_SESSION['cequetuveu']='lavaleurquetuveut'; en sachant que tu peut faire des isset($_SESSION['cequetuveut'] et autre). Ou encore, mets un champs caché dans ton formulaire (
Au début de ton code, tu l'a bien instanciée:
$type = '';
if(isset($_POST['tope'])){
$type = $_POST['tope'] ;
}
Mais en effet, si tu ne remplis pas le contrôle nommé tope dans ton formulaire qui appelle la page, bah sa remplira pas la variable $type.
Je comprends pas tout ce que tu a voulu faire, mais visiblement, tu a l'intention de garder la valeur de $type au dela de deux appels à la page: utilise donc dans ce cas les sessions (session_start() en début de page, puis $_SESSION['cequetuveu']='lavaleurquetuveut'; en sachant que tu peut faire des isset($_SESSION['cequetuveut'] et autre). Ou encore, mets un champs caché dans ton formulaire (
<input type="hidden" name="tope" value='$type'>pour pouvoir réenvoyer le type via le formulaire sans l'afficher. )