Declaration de variable php
Résolu/Fermé
A voir également:
- Declaration de variable php
- Déclaration de revenus - Guide
- Easy php - Télécharger - Divers Web & Internet
- Php natif - Forum PHP
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
11 réponses
mlelievr
Messages postés
85
Date d'inscription
mercredi 3 septembre 2008
Statut
Membre
Dernière intervention
3 mai 2012
5
10 août 2010 à 11:49
10 août 2010 à 11:49
Faudrait voir tout le code, et savoir les lignes par ce que la variable a la ligne 186 on la vois pas...
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
10 août 2010 à 11:58
10 août 2010 à 11:58
essayes comme ca:
if (isset($_POST['marque'])) $marque=htmlspecialchars($_POST['marque']); else $marque = "erreur";
bonjour ,
meçi pour ton aide,
j'ai adapter le début de code que tu m'as données mais l'erreur persiste ,
c'est peut au niveau du formulaire donc .
Je poste le formouliare correspondant aux variables prédéfinis.
echo "<fieldset class='fieldset'>";
echo "<div id='center'><span class='violet'><h3>Ajout Matériel</h3></<span></div>";
echo "<table id='Admingauche' align='center'>";
echo "<tr>
<tr>
<td><div><label for ='nomfsseur'><b>Nom Fournisseur :</b></label></td><td><input name='nomfsseur' type='text' /><span class='rouge'>*</span></div></td>
</tr>";
echo " <tr>
<td><div><label for ='model'><b>Model :</b></label></td><td><input id='model' name='model' type='text' /><span class='rouge'>*</span></div></td>
</tr>";
echo " <tr>
<td><div><label for='marque'><b>Marque :</b></label></td><td><input id='marque' name='marque' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div> <label for='serial_number'><b>N° Serie :</b></label></td><td><input id='serial_number' name='serial_number' type='text' /></div></td>
</tr>
echo "<tr>
<td><div><label for='inventory_number'><b>N°Inventaire :</b></label></td><td><input type='text' id='inventory_number' name='inventory_number' /></div></td>
</tr>";
echo " <tr>
<td><div><label for='size_hdd'><b>Taille disque dur :</b></label></td><td><input id='size_hdd' name='size_hdd' type='text' /></div> </td>
</tr>";
echo" <tr>
<td><div><label for='size_memory'><b>Taille Mémoire :</b></label></td><td><input id='size_memory' name='size_memory' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='garantis'><b>Garantis :</b></label></td><td><input id='garantis' name='garantis' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='date_debut'><b>Entrée :</b></label></td><td><input id='date_debut' name='date_debut' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='date_fin'><b>Sortie :</b></label></td><td><input id='date_fin' name='date_fin' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='date_livraison'><b>Livraison Effectué le :</b></label></td><td><input id='date_livraison' name='date_livraison' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='commentaire'><b>Commentaire :</b></label></td><td><textarea id='commentaire' name='commentaire' rows ='4' cols='10'></textarea></div></td>
</tr>";
echo " <tr>
<td><div class='buttons' ><input type='submit' name='ajout' value= 'Ajouter' /></div> </td>
</tr>";
echo " </tr></table>";
echo "</fieldset>";
echo "<a href='index.php?id_page=32'><b>Retour</b></a>";
if(!isset($_POST['nomfsseur']) && !isset($_POST['model']))
{
$fournisseur =htmlspecialchars($_POST['nomfsseur']);
$model=htmlspecialchars($_POST['model']);
if(!isset($_POST['marque']) || !isset($_POST['serial_number']) || !isset($_POST['inventory_number']) || !isset($_POST['size_hdd']) || !isset($_POST['size_memory']) || !isset($_POST
['garantis']) || !isset($_POST['date_debut']) || !isset($_POST['date_fin']) || !isset($_POST['date_livraison']) || !isset($_POST['commentaire']))
{
//====htmlspecialchars: pour gérer les caractère spéciaux entré dans un formulaire====//
$marque=htmlspecialchars($_POST['marque']);
$num_serie=htmlspecialchars($_POST['serial_number']);
$num_inventaire=htmlspecialchars($_POST['inventory_number']);
$size_hdd=htmlspecialchars($_POST['size_hdd']);
$size_memory=htmlspecialchars($_POST['size_memory']);
$garantis=htmlspecialchars($_POST['garantis']);
$entrees=htmlspecialchars($_POST['date_debut']);
$exit=htmlspecialchars($_POST['date_fin']);
$dt_livraison=htmlspecialchars($_POST['date_livraison']);
$enregistrement=date('o-m-d').''.date('H:i:s');
$coms=htmlspecialchars($_POST['commentaire']);
if(!empty($fournisseur) && !empty($model))
{
//construction de la requête d'insertion
$req="INSERT INTO gestion_materiel (nom_fournisseur,model,marque,sn,inventory_number,taille_hdd,taille_memoire,garantis,date_debut,date_fin,date_livraison,
enregistrement,commentaire)
VALUES('$fournisseur','$model','$marque','$num_serie','$num_inventaire','$size_hdd','$size_memory','$garantis','$entrees','$exit','$dt_livraison','$enregistrement', '$coms')";
..............................................
if(!isset($resultat))
{
........................................................................
}else
{
....................................................................
}
}
}else
{ $formulaire="erreur";
$model="erreur";
$marque="erreur";
$num_serie="erreur";
$num_inventaire="erreur";
$size_hdd="erreur";
$size_memory="erreur";
$garantis="erreur";
$entrees="erreur";
$exit="erreur";
$dt_livraison="erreur";
$enregistrement="erreur";
$coms="erreur";
echo "<h2> Veuillez complétez le formulaire !!! <h2> ";
}
}
meçi pour ton aide,
j'ai adapter le début de code que tu m'as données mais l'erreur persiste ,
c'est peut au niveau du formulaire donc .
Je poste le formouliare correspondant aux variables prédéfinis.
echo "<fieldset class='fieldset'>";
echo "<div id='center'><span class='violet'><h3>Ajout Matériel</h3></<span></div>";
echo "<table id='Admingauche' align='center'>";
echo "<tr>
<tr>
<td><div><label for ='nomfsseur'><b>Nom Fournisseur :</b></label></td><td><input name='nomfsseur' type='text' /><span class='rouge'>*</span></div></td>
</tr>";
echo " <tr>
<td><div><label for ='model'><b>Model :</b></label></td><td><input id='model' name='model' type='text' /><span class='rouge'>*</span></div></td>
</tr>";
echo " <tr>
<td><div><label for='marque'><b>Marque :</b></label></td><td><input id='marque' name='marque' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div> <label for='serial_number'><b>N° Serie :</b></label></td><td><input id='serial_number' name='serial_number' type='text' /></div></td>
</tr>
echo "<tr>
<td><div><label for='inventory_number'><b>N°Inventaire :</b></label></td><td><input type='text' id='inventory_number' name='inventory_number' /></div></td>
</tr>";
echo " <tr>
<td><div><label for='size_hdd'><b>Taille disque dur :</b></label></td><td><input id='size_hdd' name='size_hdd' type='text' /></div> </td>
</tr>";
echo" <tr>
<td><div><label for='size_memory'><b>Taille Mémoire :</b></label></td><td><input id='size_memory' name='size_memory' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='garantis'><b>Garantis :</b></label></td><td><input id='garantis' name='garantis' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='date_debut'><b>Entrée :</b></label></td><td><input id='date_debut' name='date_debut' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='date_fin'><b>Sortie :</b></label></td><td><input id='date_fin' name='date_fin' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='date_livraison'><b>Livraison Effectué le :</b></label></td><td><input id='date_livraison' name='date_livraison' type='text' /></div></td>
</tr>";
echo " <tr>
<td><div><label for ='commentaire'><b>Commentaire :</b></label></td><td><textarea id='commentaire' name='commentaire' rows ='4' cols='10'></textarea></div></td>
</tr>";
echo " <tr>
<td><div class='buttons' ><input type='submit' name='ajout' value= 'Ajouter' /></div> </td>
</tr>";
echo " </tr></table>";
echo "</fieldset>";
echo "<a href='index.php?id_page=32'><b>Retour</b></a>";
if(!isset($_POST['nomfsseur']) && !isset($_POST['model']))
{
$fournisseur =htmlspecialchars($_POST['nomfsseur']);
$model=htmlspecialchars($_POST['model']);
if(!isset($_POST['marque']) || !isset($_POST['serial_number']) || !isset($_POST['inventory_number']) || !isset($_POST['size_hdd']) || !isset($_POST['size_memory']) || !isset($_POST
['garantis']) || !isset($_POST['date_debut']) || !isset($_POST['date_fin']) || !isset($_POST['date_livraison']) || !isset($_POST['commentaire']))
{
//====htmlspecialchars: pour gérer les caractère spéciaux entré dans un formulaire====//
$marque=htmlspecialchars($_POST['marque']);
$num_serie=htmlspecialchars($_POST['serial_number']);
$num_inventaire=htmlspecialchars($_POST['inventory_number']);
$size_hdd=htmlspecialchars($_POST['size_hdd']);
$size_memory=htmlspecialchars($_POST['size_memory']);
$garantis=htmlspecialchars($_POST['garantis']);
$entrees=htmlspecialchars($_POST['date_debut']);
$exit=htmlspecialchars($_POST['date_fin']);
$dt_livraison=htmlspecialchars($_POST['date_livraison']);
$enregistrement=date('o-m-d').''.date('H:i:s');
$coms=htmlspecialchars($_POST['commentaire']);
if(!empty($fournisseur) && !empty($model))
{
//construction de la requête d'insertion
$req="INSERT INTO gestion_materiel (nom_fournisseur,model,marque,sn,inventory_number,taille_hdd,taille_memoire,garantis,date_debut,date_fin,date_livraison,
enregistrement,commentaire)
VALUES('$fournisseur','$model','$marque','$num_serie','$num_inventaire','$size_hdd','$size_memory','$garantis','$entrees','$exit','$dt_livraison','$enregistrement', '$coms')";
..............................................
if(!isset($resultat))
{
........................................................................
}else
{
....................................................................
}
}
}else
{ $formulaire="erreur";
$model="erreur";
$marque="erreur";
$num_serie="erreur";
$num_inventaire="erreur";
$size_hdd="erreur";
$size_memory="erreur";
$garantis="erreur";
$entrees="erreur";
$exit="erreur";
$dt_livraison="erreur";
$enregistrement="erreur";
$coms="erreur";
echo "<h2> Veuillez complétez le formulaire !!! <h2> ";
}
}
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
Modifié par Nabla's le 10/08/2010 à 15:52
Modifié par Nabla's le 10/08/2010 à 15:52
j'espere que les balises input se trouvent bien entre les deux form...
au^pire, fais un essai en changeant dans ces balises la methode: mets GET
si quand ca essaye de charger la page tu vois els parametres dans ton URL, c'est que le pb vient pas du formulaire, sinon, c'est qu'il y a un pb de formulaire
au^pire, fais un essai en changeant dans ces balises la methode: mets GET
si quand ca essaye de charger la page tu vois els parametres dans ton URL, c'est que le pb vient pas du formulaire, sinon, c'est qu'il y a un pb de formulaire
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
10 août 2010 à 13:59
10 août 2010 à 13:59
Vu qu'apparemment aucune de tes variables n'a l'air d'être transmisse c'est soit :
- fait exprès : dans ce cas utilise le code de Nabla's.
- une erreur : il faudrait nous montrer le formulaire d'où sont censées venir les données.
- fait exprès : dans ce cas utilise le code de Nabla's.
- une erreur : il faudrait nous montrer le formulaire d'où sont censées venir les données.
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
10 août 2010 à 15:34
10 août 2010 à 15:34
dans ton code, je ne vois pas de balise <form> </form> pour entourer ton formulaire ....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
10 août 2010 à 15:54
10 août 2010 à 15:54
bha,c 'est bon, je croi que j'ai mis le doigt sur la c*uille qui traine dans le potage....
><input name='nomfsseur' type='text' />
désolé, mais t'es pas en php ma caille ;) ' et " c'est différent...
remplaces tous tes ' par des "... comme ca:
><input name="nomfsseur"type="text" />
><input name='nomfsseur' type='text' />
désolé, mais t'es pas en php ma caille ;) ' et " c'est différent...
remplaces tous tes ' par des "... comme ca:
><input name="nomfsseur"type="text" />
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
10 août 2010 à 15:55
10 août 2010 à 15:55
ha puis c'est pas qu'une petite erreur, ca traine partout dans le code ;)
bon, allé, on va dire que t'as trop fait la fete hiers, que t'es encore un peu dans les choux, ca m'arrive souvent :D
bon, allé, on va dire que t'as trop fait la fete hiers, que t'es encore un peu dans les choux, ca m'arrive souvent :D
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
10 août 2010 à 15:58
10 août 2010 à 15:58
ha oui, comme t'as mis ca dans des echo (c'es tun peu idio, au lieu de mettre tout ces echo, t'aura du fermer la balise php, et mettre directement le code html vu que ton formulaire n'est pas du tout dynamique, et ensuite repasser en <?php une fois le formulaire passé ...
sinon, au lieu de faire echo "<balba tarata='k'> .....";
tu fais echo '<balba tarata="k"> .....';
sinon, au lieu de faire echo "<balba tarata='k'> .....";
tu fais echo '<balba tarata="k"> .....';
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
10 août 2010 à 16:10
10 août 2010 à 16:10
moi je met mon honneur en HTML là dessus .... (bon, en meme temps, le html c'est pas mon domaine, je risque pas grand chose)
qd je remplace même en rempla ' par " dans le input tout en remplançant " par ' dans echo '....'
les même erreur persiste.
si on mais le meme sigle partout le reste du formulaire et au delà se grise comme si j'allais concacatener le reste du cote
voici le formilaire arrangé:
echo '<form action="index.php?id_page=32" method="post" id="centre" >';
echo '<fieldset class="fieldset">';
echo '<div id="center"><span class="violet"><h3>Ajout Matériel</h3></<span></div>"';
echo '<table id="Admingauche align="center">';
echo '<tr>
<tr>
<td><div><label for ="nomfsseur"><b>Nom Fournisseur :</b></label></td><td><input name="nomfsseur" type="text" /><span class="rouge">*</span></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="model"><b>Model :</b></label></td><td><input id="model" name="model" type="text" /><span class="rouge">*</span></div></td>
</tr>';
echo ' <tr>
<td><div><label for="marque"><b>Marque :</b></label></td><td><input id="marque" name="marque" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div> <label for="serial_number"><b>N° Serie :</b></label></td><td><input id="serial_number" name="serial_number" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for="inventory_number"><b>N°Inventaire :</b></label></td><td><input type="text" id="inventory_number" name="inventory_number" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for="size_hdd"><b>Taille disque dur :</b></label></td><td><input id="size_hdd" name="size_hdd" type="text" /></div> </td>
</tr>';
echo '<tr>
<td><div><label for="size_memory"><b>Taille Mémoire :</b></label></td><td><input id="size_memory" name="size_memory" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="garantis"><b>Garantis :</b></label></td><td><input id="garantis" name="garantis" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for =\'date_debut\'><b>Entrée :</b></label></td><td><input id=\'date_debut\' name=\'date_debut\' type=\'text\' /></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="date_fin"><b>Sortie :</b></label></td><td><input id="date_fin" name="date_fin" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="date_livraison"><b>Livraison Effectué le :</b></label></td><td><input id="date_livraison" name="date_livraison" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="commentaire"><b>Commentaire :</b></label></td><td><textarea id="commentaire" name="commentaire" rows ="4" cols="10"></textarea></div></td>
</tr>';
echo ' <tr>
<td><div class="buttons" ><input type="submit" name="ajout" value= "Ajouter" /></div> </td>
</tr>';
echo '</tr></table>';
echo '</fieldset>';
//echo '<a href="index.php?id_page=32"><b>Retour</b></a>';
echo '</form>';
Je le metterais dans une variable comme je l'avais fais au départ et je regarderais les attribus du formulaire sont lu par mes variable
les même erreur persiste.
si on mais le meme sigle partout le reste du formulaire et au delà se grise comme si j'allais concacatener le reste du cote
voici le formilaire arrangé:
echo '<form action="index.php?id_page=32" method="post" id="centre" >';
echo '<fieldset class="fieldset">';
echo '<div id="center"><span class="violet"><h3>Ajout Matériel</h3></<span></div>"';
echo '<table id="Admingauche align="center">';
echo '<tr>
<tr>
<td><div><label for ="nomfsseur"><b>Nom Fournisseur :</b></label></td><td><input name="nomfsseur" type="text" /><span class="rouge">*</span></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="model"><b>Model :</b></label></td><td><input id="model" name="model" type="text" /><span class="rouge">*</span></div></td>
</tr>';
echo ' <tr>
<td><div><label for="marque"><b>Marque :</b></label></td><td><input id="marque" name="marque" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div> <label for="serial_number"><b>N° Serie :</b></label></td><td><input id="serial_number" name="serial_number" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for="inventory_number"><b>N°Inventaire :</b></label></td><td><input type="text" id="inventory_number" name="inventory_number" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for="size_hdd"><b>Taille disque dur :</b></label></td><td><input id="size_hdd" name="size_hdd" type="text" /></div> </td>
</tr>';
echo '<tr>
<td><div><label for="size_memory"><b>Taille Mémoire :</b></label></td><td><input id="size_memory" name="size_memory" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="garantis"><b>Garantis :</b></label></td><td><input id="garantis" name="garantis" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for =\'date_debut\'><b>Entrée :</b></label></td><td><input id=\'date_debut\' name=\'date_debut\' type=\'text\' /></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="date_fin"><b>Sortie :</b></label></td><td><input id="date_fin" name="date_fin" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="date_livraison"><b>Livraison Effectué le :</b></label></td><td><input id="date_livraison" name="date_livraison" type="text" /></div></td>
</tr>';
echo ' <tr>
<td><div><label for ="commentaire"><b>Commentaire :</b></label></td><td><textarea id="commentaire" name="commentaire" rows ="4" cols="10"></textarea></div></td>
</tr>';
echo ' <tr>
<td><div class="buttons" ><input type="submit" name="ajout" value= "Ajouter" /></div> </td>
</tr>';
echo '</tr></table>';
echo '</fieldset>';
//echo '<a href="index.php?id_page=32"><b>Retour</b></a>';
echo '</form>';
Je le metterais dans une variable comme je l'avais fais au départ et je regarderais les attribus du formulaire sont lu par mes variable
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
11 août 2010 à 10:51
11 août 2010 à 10:51
bon, on va dire que cette partie du code est bonne, parce qu'elle me gave....
généralement, quand on programme, quand oon nous dit une erreur, si la ligne est juste, on regarde juste au dessus.
voila le code auquel je vais m'interesser
dans le premier if. tu fais un !isset sur model. il y a le ! de negation .... ca veut dire si machin n'est pas défini.... et 2 lignes plus tard, tu utilises le champ alors qu'il n'est pas défini ... Il y a un problème là
ensuite, tu fais un :
if(!isset($_POST['marque']) || !isset($_POST['serial_number']) ....
qui veut dire: si marque n'est pas défini, ou serial_number n'est pas défini ....
en gros tu fais ce traitement que si t'as un champ qui n'est pas défini? Je comprend pas la logique. Pour moi, tu devrai avoir des isset, sans negation, et pas de || (ou) mais que des && (et) ...
en gros, tu dis "si il y a un champ qui merdouille" => on traite les champs.
alors que tu devrais faire à la limite "si il y a un champ qui merdouille" => on met un message d'erreur, "sinon" => on traite.
bref, je pense qu'il y a des choses à revoir dans le code ....
généralement, quand on programme, quand oon nous dit une erreur, si la ligne est juste, on regarde juste au dessus.
voila le code auquel je vais m'interesser
if(!isset($_POST['nomfsseur']) && !isset($_POST['model'])) { $fournisseur =htmlspecialchars($_POST['nomfsseur']); $model=htmlspecialchars($_POST['model']); if(!isset($_POST['marque']) || !isset($_POST['serial_number']) || !isset($_POST['inventory_number']) || !isset($_POST['size_hdd']) || !isset($_POST['size_memory']) || !isset($_POST ['garantis']) || !isset($_POST['date_debut']) || !isset($_POST['date_fin']) || !isset($_POST['date_livraison']) || !isset($_POST['commentaire'])) { //====htmlspecialchars: pour gérer les caractère spéciaux
dans le premier if. tu fais un !isset sur model. il y a le ! de negation .... ca veut dire si machin n'est pas défini.... et 2 lignes plus tard, tu utilises le champ alors qu'il n'est pas défini ... Il y a un problème là
ensuite, tu fais un :
if(!isset($_POST['marque']) || !isset($_POST['serial_number']) ....
qui veut dire: si marque n'est pas défini, ou serial_number n'est pas défini ....
en gros tu fais ce traitement que si t'as un champ qui n'est pas défini? Je comprend pas la logique. Pour moi, tu devrai avoir des isset, sans negation, et pas de || (ou) mais que des && (et) ...
en gros, tu dis "si il y a un champ qui merdouille" => on traite les champs.
alors que tu devrais faire à la limite "si il y a un champ qui merdouille" => on met un message d'erreur, "sinon" => on traite.
bref, je pense qu'il y a des choses à revoir dans le code ....
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
Modifié par Apatik le 11/08/2010 à 11:30
Modifié par Apatik le 11/08/2010 à 11:30
Euh.. Serenity, tu vas tuer notre Nabla's là =)
Tu à 3 cas possibles
Tu dois donc mettre un:
C'est plus clair?
Tu à 3 cas possibles
-Ta variable n'est pas définie if (isset $var) te retournera false if (!isset $var) te retournera true -Ta variable est vide: $var=""; if (isset $var) te retournera true if (!isset $var) te retournera false if (ifempty$var) te retournera true if (!ifempty($var) te retournera false -Ta variable à une valeur: $var=toto. if (isset $var) te retournera true if (!isset $var) te retournera false if (ifempty$var) te retournera false if (!ifempty($var) te retournera true
Tu dois donc mettre un:
if ((isset $var1) && (isset $var2) && (isset $var3)) { on traite } else { erreur}
C'est plus clair?
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
11 août 2010 à 11:36
11 août 2010 à 11:36
isset dit si la variable existe ou pas. Dans la mesure ou ton formulaire contient le champ, la variable existera forcément (la preuve, elle se retrouvent dans ton URL quand t'es en GET. Donc a priori, dans tous les cas, si tu viens de ce formulaire, tes variables serotn definies. En revanche, comme tu le souligne, elles peuvent être vides ...
insères ceci en haut de ton code de traitement:
foreach($_POST as $keyname=>$value) {
print "POST_['".$keyname."'] = ".$value;
}
je sais pas si ca marche, mais bon ...
et je persiste, ta gestion du if n'est pas bonne du tout !
insères ceci en haut de ton code de traitement:
foreach($_POST as $keyname=>$value) {
print "POST_['".$keyname."'] = ".$value;
}
je sais pas si ca marche, mais bon ...
et je persiste, ta gestion du if n'est pas bonne du tout !
Apatik - 11 aoû 2010 à 11:29
Nous avons déja essayé cette possiblité
Nabla's - 11 aoû 2010 à 11:36
Je suis d'accord avec toi pour la mauvaise gestion du if donc je l'ai réécri
j'espère que je ne t'épuise pas trop.:)
Nous avons déja essayé cette possiblité
Nabla's - 11 aoû 2010 à 11:36
Je suis d'accord avec toi pour la mauvaise gestion du if donc je l'ai réécri
j'espère que je ne t'épuise pas trop.:)
Nabla's
je de t'envoie le code modifié dis mis si tu trouve des erreurs surtout au niveau du dernier bloc que tu m'as envoyé:
......................................................................................................
if (isset($_POST['ajout'])!='Ajouter')
{ // déclaration de variable à refaire
if(!isset($_POST['nomfsseur']) && !isset($_POST['model']) && !isset($_POST['marque']) && ! isset($_POST['serial_number']) && !isset($_POST['inventory_number']) && !isset($_POST['size_hdd']) && !isset($_POST['size_memory']) && !isset($_POST['garantis']) && !isset($_POST['date_debut']) && !isset($_POST['date_fin']) && !isset($_POST['date_livraison']) && !isset($_POST['commentaire']))
{
............................................................................................
//====htmlspecialchars: pour gérer les caractère spéciaux entré dans un formulaire====//
$fournisseur =htmlspecialchars($_POST['nomfsseur']);//access procedure php 4
$model=htmlspecialchars($_POST['model']);
$marque=htmlspecialchars($_POST['marque']);
$num_serie=htmlspecialchars($_POST['serial_number']);
$num_inventaire=htmlspecialchars($_POST['inventory_number']);
$size_hdd=htmlspecialchars($_POST['size_hdd']);
$size_memory=htmlspecialchars($_POST['size_memory']);
$garantis=htmlspecialchars($_POST['garantis']);
$entrees=htmlspecialchars($_POST['date_debut']);
$exit=htmlspecialchars($_POST['date_fin']);
$dt_livraison=htmlspecialchars($_POST['date_livraison']);
$enregistrement=date('o-m-d').''.date('H:i:s');
$coms=htmlspecialchars($_POST['commentaire']);
//===verifie les valeurs envoyés part $_POST=====//
foreach ($_POST as $keyname=>$value) {
print "POST_['".$keyname."'] = ".$value;
}
if(!empty($fournisseur) && !empty($model))
{
................................................
Je m'en vais déjeuner à tout à l'heure :)
PS: merci pour tes explications précieuses.
je de t'envoie le code modifié dis mis si tu trouve des erreurs surtout au niveau du dernier bloc que tu m'as envoyé:
......................................................................................................
if (isset($_POST['ajout'])!='Ajouter')
{ // déclaration de variable à refaire
if(!isset($_POST['nomfsseur']) && !isset($_POST['model']) && !isset($_POST['marque']) && ! isset($_POST['serial_number']) && !isset($_POST['inventory_number']) && !isset($_POST['size_hdd']) && !isset($_POST['size_memory']) && !isset($_POST['garantis']) && !isset($_POST['date_debut']) && !isset($_POST['date_fin']) && !isset($_POST['date_livraison']) && !isset($_POST['commentaire']))
{
............................................................................................
//====htmlspecialchars: pour gérer les caractère spéciaux entré dans un formulaire====//
$fournisseur =htmlspecialchars($_POST['nomfsseur']);//access procedure php 4
$model=htmlspecialchars($_POST['model']);
$marque=htmlspecialchars($_POST['marque']);
$num_serie=htmlspecialchars($_POST['serial_number']);
$num_inventaire=htmlspecialchars($_POST['inventory_number']);
$size_hdd=htmlspecialchars($_POST['size_hdd']);
$size_memory=htmlspecialchars($_POST['size_memory']);
$garantis=htmlspecialchars($_POST['garantis']);
$entrees=htmlspecialchars($_POST['date_debut']);
$exit=htmlspecialchars($_POST['date_fin']);
$dt_livraison=htmlspecialchars($_POST['date_livraison']);
$enregistrement=date('o-m-d').''.date('H:i:s');
$coms=htmlspecialchars($_POST['commentaire']);
//===verifie les valeurs envoyés part $_POST=====//
foreach ($_POST as $keyname=>$value) {
print "POST_['".$keyname."'] = ".$value;
}
if(!empty($fournisseur) && !empty($model))
{
................................................
Je m'en vais déjeuner à tout à l'heure :)
PS: merci pour tes explications précieuses.
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
11 août 2010 à 13:38
11 août 2010 à 13:38
tiens, change le bout de code ou t'as les erreurs avec ca:
$erreur = "nabla il dit que ca plante sur ce champs non renseigné dans ton formulaire : champ ";
if isset($_POST['nomfsseur']) $fournisseur = htmlspecialchars($_POST['nomfsseur']) else die($erreur."nomfsseur ");
if isset($_POST['model']) $model= htmlspecialchars($_POST['model']) else die($erreur." model");
if isset($_POST['marque']) $marque= htmlspecialchars($_POST['marque']) else die($erreur."marque ");
if isset($_POST['serial_number']) $num_serie= htmlspecialchars($_POST['serial_number']) else die($erreur."serial_number ");
if isset($_POST['inventory_number']) $num_inventaire= htmlspecialchars($_POST['inventory_number']) else die($erreur."inventory_number ");
if isset($_POST['size_hdd']) $size_hdd=htmlspecialchars($_POST['size_hdd']) else die($erreur."size_hdd ");
if isset($_POST['size_memory']) $size_memory= htmlspecialchars($_POST['size_memory']) else die($erreur."size_memory ");
if isset($_POST['garantis']) $garantis= htmlspecialchars($_POST['garantis']) else die($erreur."garantis ");
if isset($_POST['date_debut']) $entrees= htmlspecialchars($_POST['date_debut']) else die($erreur."date_debut ");
if isset($_POST['date_fin']) $exit= htmlspecialchars($_POST['date_fin']) else die($erreur."date_fin ");
if isset($_POST['date_livraison'])$dt_livraison= htmlspecialchars($_POST['date_livraison']) else die($erreur."date_livraison ");
$enregistrement=date('o-m-d').''.date('H:i:s');
if isset($_POST['commentaire']) $coms= htmlspecialchars($_POST['commentaire']) else die($erreur."commentaire ");
puis tu seras sympa de faire 2 tests: un comme tu les fais avant, et un en remplissant tous tes champs ...
ha, et un truc. Quand tu nous poste le code, utilises les balises < code > , histoire qu'on ai l'indentation, car si je dois compter les accolades pour les tests, ca le fera pas du tout
et heu, juste comme ca... j'ai toujorus pas l'imrpession que ton if soit bon
moi je susi chaud pour ca:
if(isset($_POST['nomfsseur']) && isset($_POST['model']) && isset($_POST['marque']) && isset($_POST['serial_number']) && isset($_POST['inventory_number']) && isset($_POST['size_hdd']) && isset($_POST['size_memory']) && isset($_POST['garantis']) && isset($_POST['date_debut']) && isset($_POST['date_fin']) && isset($_POST['date_livraison']) && isset($_POST['commentaire']))
==> donc avec AUCUN point d'exclamation.
petite question subsidiaire, depuis combien de temps programmes tu ?
$erreur = "nabla il dit que ca plante sur ce champs non renseigné dans ton formulaire : champ ";
if isset($_POST['nomfsseur']) $fournisseur = htmlspecialchars($_POST['nomfsseur']) else die($erreur."nomfsseur ");
if isset($_POST['model']) $model= htmlspecialchars($_POST['model']) else die($erreur." model");
if isset($_POST['marque']) $marque= htmlspecialchars($_POST['marque']) else die($erreur."marque ");
if isset($_POST['serial_number']) $num_serie= htmlspecialchars($_POST['serial_number']) else die($erreur."serial_number ");
if isset($_POST['inventory_number']) $num_inventaire= htmlspecialchars($_POST['inventory_number']) else die($erreur."inventory_number ");
if isset($_POST['size_hdd']) $size_hdd=htmlspecialchars($_POST['size_hdd']) else die($erreur."size_hdd ");
if isset($_POST['size_memory']) $size_memory= htmlspecialchars($_POST['size_memory']) else die($erreur."size_memory ");
if isset($_POST['garantis']) $garantis= htmlspecialchars($_POST['garantis']) else die($erreur."garantis ");
if isset($_POST['date_debut']) $entrees= htmlspecialchars($_POST['date_debut']) else die($erreur."date_debut ");
if isset($_POST['date_fin']) $exit= htmlspecialchars($_POST['date_fin']) else die($erreur."date_fin ");
if isset($_POST['date_livraison'])$dt_livraison= htmlspecialchars($_POST['date_livraison']) else die($erreur."date_livraison ");
$enregistrement=date('o-m-d').''.date('H:i:s');
if isset($_POST['commentaire']) $coms= htmlspecialchars($_POST['commentaire']) else die($erreur."commentaire ");
puis tu seras sympa de faire 2 tests: un comme tu les fais avant, et un en remplissant tous tes champs ...
ha, et un truc. Quand tu nous poste le code, utilises les balises < code > , histoire qu'on ai l'indentation, car si je dois compter les accolades pour les tests, ca le fera pas du tout
et heu, juste comme ca... j'ai toujorus pas l'imrpession que ton if soit bon
moi je susi chaud pour ca:
if(isset($_POST['nomfsseur']) && isset($_POST['model']) && isset($_POST['marque']) && isset($_POST['serial_number']) && isset($_POST['inventory_number']) && isset($_POST['size_hdd']) && isset($_POST['size_memory']) && isset($_POST['garantis']) && isset($_POST['date_debut']) && isset($_POST['date_fin']) && isset($_POST['date_livraison']) && isset($_POST['commentaire']))
==> donc avec AUCUN point d'exclamation.
petite question subsidiaire, depuis combien de temps programmes tu ?
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
11 août 2010 à 13:45
11 août 2010 à 13:45
Ouep Nabla, son if est toujours le contraire.. avant il éxécuté le script si il y avait au moins une erreur, maintenant faut que tout soit faux.
@serenity: si tu avais essayé ma sollution, ton if serais bon ;)
@serenity: si tu avais essayé ma sollution, ton if serais bon ;)
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
11 août 2010 à 13:56
11 août 2010 à 13:56
avec ce que j'avais donné plus haut:
https://forums.commentcamarche.net/forum/affich-18787137-declaration-de-variable-php#2
c'était bon ;) ses champs en erreur auraient pris la valeur "erreur", et ca aurai été torched ...
https://forums.commentcamarche.net/forum/affich-18787137-declaration-de-variable-php#2
c'était bon ;) ses champs en erreur auraient pris la valeur "erreur", et ca aurai été torched ...
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
11 août 2010 à 14:13
11 août 2010 à 14:13
Ouep, mais il a pas fait :D
Y z'écoutent plus rien ces jeunes...
Y z'écoutent plus rien ces jeunes...
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
11 août 2010 à 14:48
11 août 2010 à 14:48
bon, je croi que je vais me remettre un peu au travail. j'essayerai ce soir de jetter un oeil sur ton code, si j'ai le temps, sinon n'hésites pas à me relancer un autre jour. De ton coté cherche un peu (si je continue à te faire faire tous les tests, je vais passer sur la première page du classement des membres ;) )
chez moi je tourne aussi sur WAMP, donc on sera a priori dans les memes conditions. Ici, au boulot, de toute facon, je peux pas tester le code que je t'envoi ....
Tu m'enverras avant 18h tout ton code à la sutie du présent message, dans l'état ou il sera, en séparant bien les fichiers, et en utilisant les balises CODE (les < > dans l'edition du message). C'est beaucoup plus facile pour la lecture des gens qui t'aident .
sur ce je te dis bon courrage, et peut etre à ce soir, disons quelque part entre 18h30 et 23h !
chez moi je tourne aussi sur WAMP, donc on sera a priori dans les memes conditions. Ici, au boulot, de toute facon, je peux pas tester le code que je t'envoi ....
Tu m'enverras avant 18h tout ton code à la sutie du présent message, dans l'état ou il sera, en séparant bien les fichiers, et en utilisant les balises CODE (les < > dans l'edition du message). C'est beaucoup plus facile pour la lecture des gens qui t'aident .
sur ce je te dis bon courrage, et peut etre à ce soir, disons quelque part entre 18h30 et 23h !
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
11 août 2010 à 15:07
11 août 2010 à 15:07
ha ben j'espère bien que tu me tiendra au courant ;)
je te mets le code en entier afin que tu puisse le tester toi même quand tu aura un peux de temps, et me diresi tu trouve des erreurs, bonne lecture:
l'affichage entre le bloc code n'est pas fameux mais j'essaie de te le poster correctement:
l'affichage du code ne me plait pas mais bon on fait vas faire avec
...
l'affichage entre le bloc code n'est pas fameux mais j'essaie de te le poster correctement:
function tInsertion(){ //Formulaire dynamique. echo '<form action="index.php?id_page=33" method="POST" id="centre" > <fieldset class="fieldset"> <div id="center"><span class="violet"><h3>Ajout Matériel</h3></<span></div> <table id="Admingauche align="center"> <tr> <tr> <td><div><label for ="nomfsseur"><b>Nom Fournisseur :</b></label></td><td><input name="nomfsseur" type="text" /><span class="rouge">*</span></div></td> </tr> <tr> <td><div><label for ="model"><b>Model :</b></label></td><td><input id="model" name="model" type="text" /><span class="rouge">*</span></div></td> </tr> <tr> <td><div><label for="marque"><b>Marque :</b></label></td><td><input id="marque" name="marque" type="text" /></div></td> </tr> <tr> <td><div> <label for="serial_number"><b>N° Serie :</b></label></td><td><input id="serial_number" name="serial_number" type="text" /></div></td> </tr> <tr> <td><div><label for="inventory_number"><b>N°Inventaire :</b></label></td><td><input type="text" id="inventory_number" name="inventory_number" /></div></td> </tr> <tr> <td><div><label for="size_hdd"><b>Taille disque dur :</b></label></td><td><input id="size_hdd" name="size_hdd" type="text" /></div> </td> </tr> <tr> <td><div><label for="size_memory"><b>Taille Mémoire :</b></label></td><td><input id="size_memory" name="size_memory" type="text" /></div></td> </tr> <tr> <td><div><label for ="garantis"><b>Garantis :</b></label></td><td><input id="garantis" name="garantis" type="text" /></div></td> </tr> <tr> <td><div><label for =\'date_debut\'><b>Entrée :</b></label></td><td><input id=\'date_debut\' name=\'date_debut\' type=\'text\' /></div></td> </tr> <tr> <td><div><label for ="date_fin"><b>Sortie :</b></label></td><td><input id="date_fin" name="date_fin" type="text" /></div></td> </tr> <tr> <td><div><label for ="date_livraison"><b>Livraison Effectué le :</b></label></td><td><input id="date_livraison" name="date_livraison" type="text" /></div></td> </tr> <tr> <td><div><label for ="commentaire"><b>Commentaire :</b></label></td><td><textarea id="commentaire" name="commentaire" rows ="4" cols="10"></textarea></div></td> </tr> <tr> <td><div class="buttons"><button type="submit" name="bouton_ajout"><img src="images/b_add.png" /> Ajouter</button></div></td> </tr> </tr></table> </fieldset> <div id="center"><a href="index.php?id_page=32"><b>Retour</b></a></div> </form>'; if (isset($_POST['ajout'])!='Ajouter') { // déclaration de variable à refaire if(isset($_POST['nomfsseur']) && isset($_POST['model']) && isset($_POST['marque']) && isset($_POST['serial_number']) && isset($_POST['inventory_number']) && isset($_POST['size_hdd']) && isset($_POST['size_memory']) && isset($_POST['garantis']) && isset($_POST['date_debut']) && isset($_POST['date_fin']) && isset($_POST['date_livraison']) && isset($_POST['commentaire'])){ //====test de variables====// $formulaire="erreur"; $model="erreur"; $marque="erreur"; $num_serie="erreur"; $num_inventaire="erreur"; $size_hdd="erreur"; $size_memory="erreur"; $garantis="erreur"; $entrees="erreur"; $exit="erreur"; $dt_livraison="erreur"; //$enregistrement="erreur"; $coms="erreur"; echo "<h2> Veuillez complétez le formulaire !!! <h2> "; }else { //====htmlspecialchars: pour gérer les caractère spéciaux entré dans un formulaire====// $fournisseur=htmlspecialchars($_POST['nomfsseur']);//access procedure php 4 $model=htmlspecialchars($_POST['model']); $marque=htmlspecialchars($_POST['marque']); $num_serie=htmlspecialchars($_POST['serial_number']); $num_inventaire=htmlspecialchars($_POST['inventory_number']); $size_hdd=htmlspecialchars($_POST['size_hdd']); $size_memory=htmlspecialchars($_POST['size_memory']); $garantis=htmlspecialchars($_POST['garantis']); $entrees=htmlspecialchars($_POST['date_debut']); $exit=htmlspecialchars($_POST['date_fin']); $dt_livraison=htmlspecialchars($_POST['date_livraison']); //$enregistrement=date('Y-m-d').''.date('H:i:s'); $coms=htmlspecialchars($_POST['commentaire']); //===verifie les valeurs envoyés part $_POST=====// foreach($_POST as $keyname=>$value) { print "POST_['".$keyname."'] = ".$value; } if(!empty($fournisseur) && !empty($model)){ //construction de la requête d'insertion $req="INSERT INTO gestion_materiel (nom_fournisseur,model,marque,sn,inventory_number,taille_hdd,taille_memoire,garantis,date_debut,date_fin,date_livraison, enregistrement,commentaire) VALUES('$fournisseur','$model','$marque','$num_serie','$num_inventaire','$size_hdd','$size_memory','$garantis','$entrees','$exit','$dt_livraison','$enregistrement', '$coms')"; $resultat=@mysql_query($req) or die("Requête vide !!".mysql_error()); $final=@mysql_result($resultat); echo $final; if(!$resultat=@mysql_query($req)) { // Javascript : echo "<script type=\"text/javascript\"> function error() { alert('Erreur : ".mysql_error()."'); } </script>"; }else { echo "<script type=\"text/javascript\"> function confimAjout( { alert('vous avez été enregistrée : ".mysql_insert_id($resultat)."'); } </script>"; } } } } }
l'affichage du code ne me plait pas mais bon on fait vas faire avec
...
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
11 août 2010 à 19:32
11 août 2010 à 19:32
debug: 5 minutes à peine
épilogue:
étape 1-
t'as pas fait la correction qu'apatik t'as dit de faire sur le
où tu comparais un booléen à une chaine de caractère .. si tu comprends pas ton erreur, c'est qu'il faut revoir les bases.
ensuite, quitte a rester sur cette ligne: tu testait qu'on ai appuyé sur le bouton. Ton bouton s'appelle <button type="submit" name="bouton_ajout">
donc on passe de
ca fait 2 erreurs sur la même ligne quand même.... dont une qui t'avait été signalée. pour trouver l'erreur, j'ai simplement mis un
étape 2:
heu, là ou t'initialise toutes tes variables à erreur en cas d'erreur.... je crois que c'est du foutage de tête là .... toi, si on a tout rempli bien correctement (isset=> is set => est defini) T'as fait un test sur toutes les variables et tu dis "si toutes les variables sont définis", et derrière tu fais quoi? ben tu les mets toutes en erreur. Si tes profs traitaient tes copies comme tu traites tes variables, t'aurai un 0 à chaque fois que t'aurai tout bien rempli ....
Ca me rappelle le premier singe que la NASA a envoyé dans l'espace. Le pauvre: le système a buggé et au lieu d'avoir des morceaux de banane quand il faisait les bons trucs, il se prenait les décharges électriques.... bref, tu devrais lire et comprendre le isset .... parce que là t'a vraiment rien comprit ....
et , j'ai pas corrigé, mais le traitement que je t'ai donné, il fallait le faire une fois pour chaque variable, pas une grande fois avec toutes les variables. Tu peux très bien avoir une variable en erreur sans que toutes soient en erreur. Bon a la limite ca te optimiseras plus tard quand tu comprendras les problèmes qui en découlent
donc bon, je te mets le code qui fonctionne, mais franchement, je pense que tu n'as pas mis suffisamment de bonne volonté dans ce développement
épilogue:
étape 1-
t'as pas fait la correction qu'apatik t'as dit de faire sur le
if (isset($_POST['ajout'])!='Ajouter')
où tu comparais un booléen à une chaine de caractère .. si tu comprends pas ton erreur, c'est qu'il faut revoir les bases.
ensuite, quitte a rester sur cette ligne: tu testait qu'on ai appuyé sur le bouton. Ton bouton s'appelle <button type="submit" name="bouton_ajout">
donc on passe de
if (isset($_POST['ajout'])!='Ajouter')à
if (isset($_POST['bouton_ajout']))
ca fait 2 erreurs sur la même ligne quand même.... dont une qui t'avait été signalée. pour trouver l'erreur, j'ai simplement mis un
else echo "pas de traitement";qui suivait le block du if
étape 2:
heu, là ou t'initialise toutes tes variables à erreur en cas d'erreur.... je crois que c'est du foutage de tête là .... toi, si on a tout rempli bien correctement (isset=> is set => est defini) T'as fait un test sur toutes les variables et tu dis "si toutes les variables sont définis", et derrière tu fais quoi? ben tu les mets toutes en erreur. Si tes profs traitaient tes copies comme tu traites tes variables, t'aurai un 0 à chaque fois que t'aurai tout bien rempli ....
Ca me rappelle le premier singe que la NASA a envoyé dans l'espace. Le pauvre: le système a buggé et au lieu d'avoir des morceaux de banane quand il faisait les bons trucs, il se prenait les décharges électriques.... bref, tu devrais lire et comprendre le isset .... parce que là t'a vraiment rien comprit ....
et , j'ai pas corrigé, mais le traitement que je t'ai donné, il fallait le faire une fois pour chaque variable, pas une grande fois avec toutes les variables. Tu peux très bien avoir une variable en erreur sans que toutes soient en erreur. Bon a la limite ca te optimiseras plus tard quand tu comprendras les problèmes qui en découlent
donc bon, je te mets le code qui fonctionne, mais franchement, je pense que tu n'as pas mis suffisamment de bonne volonté dans ce développement
<?php tInsertion(); function tInsertion(){ //Formulaire dynamique. echo '<form action="index.php?id_page=33" method="POST" id="centre" > <fieldset class="fieldset"> <div id="center"><span class="violet"><h3>Ajout Matériel</h3></<span></div> <table id="Admingauche align="center"> <tr> <tr> <td><div><label for ="nomfsseur"><b>Nom Fournisseur :</b></label></td><td><input name="nomfsseur" type="text" /><span class="rouge">*</span></div></td> </tr> <tr> <td><div><label for ="model"><b>Model :</b></label></td><td><input id="model" name="model" type="text" /><span class="rouge">*</span></div></td> </tr> <tr> <td><div><label for="marque"><b>Marque :</b></label></td><td><input id="marque" name="marque" type="text" /></div></td> </tr> <tr> <td><div> <label for="serial_number"><b>N° Serie :</b></label></td><td><input id="serial_number" name="serial_number" type="text" /></div></td> </tr> <tr> <td><div><label for="inventory_number"><b>N°Inventaire :</b></label></td><td><input type="text" id="inventory_number" name="inventory_number" /></div></td> </tr> <tr> <td><div><label for="size_hdd"><b>Taille disque dur :</b></label></td><td><input id="size_hdd" name="size_hdd" type="text" /></div> </td> </tr> <tr> <td><div><label for="size_memory"><b>Taille Mémoire :</b></label></td><td><input id="size_memory" name="size_memory" type="text" /></div></td> </tr> <tr> <td><div><label for ="garantis"><b>Garantis :</b></label></td><td><input id="garantis" name="garantis" type="text" /></div></td> </tr> <tr> <td><div><label for =\'date_debut\'><b>Entrée :</b></label></td><td><input id=\'date_debut\' name=\'date_debut\' type=\'text\' /></div></td> </tr> <tr> <td><div><label for ="date_fin"><b>Sortie :</b></label></td><td><input id="date_fin" name="date_fin" type="text" /></div></td> </tr> <tr> <td><div><label for ="date_livraison"><b>Livraison Effectué le :</b></label></td><td><input id="date_livraison" name="date_livraison" type="text" /></div></td> </tr> <tr> <td><div><label for ="commentaire"><b>Commentaire :</b></label></td><td><textarea id="commentaire" name="commentaire" rows ="4" cols="10"></textarea></div></td> </tr> <tr> <td><div class="buttons"><button type="submit" name="bouton_ajout"><img src="images/b_add.png" /> Ajouter</button></div></td> </tr> </tr></table> </fieldset> <div id="center"><a href="index.php?id_page=32"><b>Retour</b></a></div> </form>'; if (isset($_POST['bouton_ajout'])) //ICI apatik t'avait dit quoi faire pour le != et ton nom de variable était pas bon { // déclaration de variable à refaire if(isset($_POST['nomfsseur']) && isset($_POST['model']) && isset($_POST['marque']) && isset($_POST['serial_number']) && isset($_POST['inventory_number']) && isset($_POST['size_hdd']) && isset($_POST['size_memory']) && isset($_POST['garantis']) && isset($_POST['date_debut']) && isset($_POST['date_fin']) && isset($_POST['date_livraison']) && isset($_POST['commentaire'])) /* { //====test de variables====// $formulaire="erreur"; $model="erreur"; $marque="erreur"; $num_serie="erreur"; $num_inventaire="erreur"; $size_hdd="erreur"; $size_memory="erreur"; $garantis="erreur"; $entrees="erreur"; $exit="erreur"; $dt_livraison="erreur"; //$enregistrement="erreur"; $coms="erreur"; echo "<h2> Veuillez complétez le formulaire !!! <h2> "; }else*/ { //====htmlspecialchars: pour gérer les caractère spéciaux entré dans un formulaire====// $fournisseur=htmlspecialchars($_POST['nomfsseur']);//access procedure php 4 $model=htmlspecialchars($_POST['model']); $marque=htmlspecialchars($_POST['marque']); $num_serie=htmlspecialchars($_POST['serial_number']); $num_inventaire=htmlspecialchars($_POST['inventory_number']); $size_hdd=htmlspecialchars($_POST['size_hdd']); $size_memory=htmlspecialchars($_POST['size_memory']); $garantis=htmlspecialchars($_POST['garantis']); $entrees=htmlspecialchars($_POST['date_debut']); $exit=htmlspecialchars($_POST['date_fin']); $dt_livraison=htmlspecialchars($_POST['date_livraison']); $enregistrement=date('Y-m-d').''.date('H:i:s'); $coms=htmlspecialchars($_POST['commentaire']); //===verifie les valeurs envoyés part $_POST=====// foreach($_POST as $keyname=>$value) { print "POST_['".$keyname."'] = ".$value."<br />"; } if(!empty($fournisseur) && !empty($model)){ //construction de la requête d'insertion $req="INSERT INTO gestion_materiel (nom_fournisseur,model,marque,sn,inventory_number,taille_hdd,taille_memoire,garantis,date_debut,date_fin,date_livraison, enregistrement,commentaire) VALUES('$fournisseur','$model','$marque','$num_serie','$num_inventaire','$size_hdd','$size_memory','$garantis','$entrees','$exit','$dt_livraison','$enregistrement', '$coms')"; $resultat=@mysql_query($req) or die("Requête vide !!".mysql_error()); $final=@mysql_result($resultat); echo $final; if(!$resultat=@mysql_query($req)) { // Javascript : echo "<script type=\"text/javascript\"> function error() { alert('Erreur : ".mysql_error()."'); } </script>"; }else { echo "<script type=\"text/javascript\"> function confimAjout( { alert('vous avez été enregistrée : ".mysql_insert_id($resultat)."'); } </script>"; } } } else echo "remplir tous les champs"; }else echo "premier chargement"; } ?>
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
Modifié par Apatik le 11/08/2010 à 20:20
Modifié par Apatik le 11/08/2010 à 20:20
Mais euh! J'viens de lui finir un petit script homemade custom. En plus, je trouve qu'il pète la classe :D
Et le must du must, c'est qu'il est assez commenté pour un noob.
@Serenity: Avant quand même, un truc. Le plagia, c'est un truc de mer*e. Et ce script, tu l'as initialement pompé. Parce que rien qu'a voir le nom des variables, le fait de passer par une fonction pour afficher un formulaire.., et faut voir le nom de la fonction.. Bref. Quand on code un truc, soit on le fait soit même, soit on laisse un commentaire pour la personne qui l'a fait. Faut rendre à César ce qui est à Jules..
Bref, voila mon script que tu peux utiliser comme tu l'entend, et sans parler de moi.
https://pastebin.com/MHSZ8imB
Et le must du must, c'est qu'il est assez commenté pour un noob.
@Serenity: Avant quand même, un truc. Le plagia, c'est un truc de mer*e. Et ce script, tu l'as initialement pompé. Parce que rien qu'a voir le nom des variables, le fait de passer par une fonction pour afficher un formulaire.., et faut voir le nom de la fonction.. Bref. Quand on code un truc, soit on le fait soit même, soit on laisse un commentaire pour la personne qui l'a fait. Faut rendre à César ce qui est à Jules..
Bref, voila mon script que tu peux utiliser comme tu l'entend, et sans parler de moi.
https://pastebin.com/MHSZ8imB
Apatik
non quand je programme pour ne pas oublier ce que je fais je mets beaucoup de commentaire après je les efface qd le programme est fini car il peux arriver que je développe sur d'autre techno , ce sont des point de repère.
En loccurence je les ais enlevés car j'en avais mis des tonnes.
la premier ligne if contenais bien une errur et en reprenons ton explication au dessus j'ai compris pourquoi merci.
Merci pour pour ton aide Nabla's
l'attribut bouton c'est bien ajout pas bouton_Ajouter le code que je t'es donné contenait quelque erreur d'innatentions que j'ai corrigé et l'appelle de la fonction tInsertion au débute ne mets pas utile car il interfère avec ma page login, je l'ai mis en commentaire.
sinon le formulaire ajoute bien une nouvelle données
maintenant je doit revoir au niveau des base de donnée car aucune ligne n'est ajouter dans la bdd créer dans phpmyadmin
non quand je programme pour ne pas oublier ce que je fais je mets beaucoup de commentaire après je les efface qd le programme est fini car il peux arriver que je développe sur d'autre techno , ce sont des point de repère.
En loccurence je les ais enlevés car j'en avais mis des tonnes.
la premier ligne if contenais bien une errur et en reprenons ton explication au dessus j'ai compris pourquoi merci.
Merci pour pour ton aide Nabla's
l'attribut bouton c'est bien ajout pas bouton_Ajouter le code que je t'es donné contenait quelque erreur d'innatentions que j'ai corrigé et l'appelle de la fonction tInsertion au débute ne mets pas utile car il interfère avec ma page login, je l'ai mis en commentaire.
sinon le formulaire ajoute bien une nouvelle données
maintenant je doit revoir au niveau des base de donnée car aucune ligne n'est ajouter dans la bdd créer dans phpmyadmin
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
12 août 2010 à 10:06
12 août 2010 à 10:06
bon, sujet resolu, non ??
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
Modifié par Apatik le 12/08/2010 à 10:11
Modifié par Apatik le 12/08/2010 à 10:11
J'attend qu'il me dise que mon script il pète plus que le tien :p
Et j'attend surtout qu'il me dise que ça bug parce que le form renvoi sur "index2.php", qu'une fois qu'on aura résolu ce problème, qu'il me dise que son code SQL plante parce qu'il est pas connecté à la db, ...
Enfin toutes les erreurs de transposition de base quoi. Puisque chez moi, ça marche :D (enfin je me suis arrété à la partie db, puisque j'avais la flemme d'en créer une pour tester.. en tout cas, la requette créée est correcte)
Et j'attend surtout qu'il me dise que ça bug parce que le form renvoi sur "index2.php", qu'une fois qu'on aura résolu ce problème, qu'il me dise que son code SQL plante parce qu'il est pas connecté à la db, ...
Enfin toutes les erreurs de transposition de base quoi. Puisque chez moi, ça marche :D (enfin je me suis arrété à la partie db, puisque j'avais la flemme d'en créer une pour tester.. en tout cas, la requette créée est correcte)
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
12 août 2010 à 10:24
12 août 2010 à 10:24
le mien il risque pas de peter, vu que c'est une corresction du sien, et que j'ai dis que d'autres trucs n'allaient pas ;)
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
12 août 2010 à 10:27
12 août 2010 à 10:27
J'ai pas tout changé, j'ai gardé son formulaire, ses deux fonctions alert() en JS, et son mysql_result() =)
y'avais pas que du mauvais.. (Tu crois qu'il va revenir dire merci?)
y'avais pas que du mauvais.. (Tu crois qu'il va revenir dire merci?)
Nabla's
Messages postés
18203
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 193
Modifié par Nabla's le 12/08/2010 à 10:31
Modifié par Nabla's le 12/08/2010 à 10:31
oui, qd il aura tout assimilé :D
Comme dit un vieu sage alcolique:
Patience et longueur de temps font plus que la peau de l'ours avant de l'avoir tué...
Comme dit un vieu sage alcolique:
Patience et longueur de temps font plus que la peau de l'ours avant de l'avoir tué...
oui, en effet ce n'est qu'une parti du code(c'est lec ode d'une page) qui seras afficher grace à la page main.php .
pour le greffer à la page principale j'ai utilisé un include_once(nomdelapage.php).
merci pour ta solution implode() je la testerais.
je te dirais ce qu'il en ais.
avant j'essaierais de comprendre comment elle fonction afin de mieux l'utiliser plus tard.
Passe une bonne journée,
:)
pour le greffer à la page principale j'ai utilisé un include_once(nomdelapage.php).
merci pour ta solution implode() je la testerais.
je te dirais ce qu'il en ais.
avant j'essaierais de comprendre comment elle fonction afin de mieux l'utiliser plus tard.
Passe une bonne journée,
:)
Modifié par serenity le 10/08/2010 à 15:30
J'ai poste le formulaire corespondant au variable