Une histoire d'include et d'exit - PHP - Programmation
Marsh Posté le 11-03-2005 à 19:52:18
bha vire l'exit
Marsh Posté le 11-03-2005 à 20:01:52
Bah oué mais je l'ai mis c'est qu'il est nécéssaire.
Il est là que quand la page est appelé depuis un certain formulaire.
Marsh Posté le 11-03-2005 à 20:03:26
bha c'est que c'est mal codé !
mets une condiditon pour pas qu'il fasse le exit !
connaissant pas ton code, je peux pas t'aider plus
Marsh Posté le 11-03-2005 à 20:19:02
J'ai fait éxprés de mettre un exit dans mon code, et je suis obligé.
Ya y-il un moyen pour que cet exit n'est pas d'éffet dans la page mère ?
Marsh Posté le 11-03-2005 à 20:21:08
oui, avec une condition (if)
donne le code bordel
Marsh Posté le 11-03-2005 à 20:40:26
#---------- On test si il des informations érronées ou si tout les champs sont vides ----------
if (@count($champRemplis) <= 1 or @count($mauvaisFormat) > 0 or $_POST[reaffiche] == 1) // 1 champ obligatoirement remplis (Submit)
{
if(@count($champRemplis) <= 1)
{echo "Vous n'avez remplis aucun champs<br>";
}
if (@count($mauvaisFormat) > 0)
{echo "<br>Les informations d'un ou plusieurs champs sont érronées<br>\nCorrigé le format de: ";
// Liste des informations érronnées
foreach($mauvaisFormat as $clé => $valeur)
{echo "<br> {$étiquette[$clé]}";
}
}
#---------- Réafficher le formulaire ----------
if($_POST[sexe] == "M" ){$homme=CHECKED;}
if($_POST[sexe] == "F" ){$femme=CHECKED;}
echo'<form method="post" action="index.php?page=ajoutindividu">
<table border="0" align="center" cellspacing="1">
<tr>
<td><div align="right">Sexe:</div></td>
<td>
<div align="left">
Homme<INPUT type=radio name="sexe" '.$homme.' value="M"> Femme<INPUT type=radio name="sexe" '.$femme.' value="F">
</div></td>
</tr>
<tr>
<td><div align="right">Nom</div></td>
<td>
<div align="left">
<input name="nom" type="text" value="'.$_POST[nom].'" size="24">
</div></td>
</tr>
<tr>
<td><div align="right">Prénom</div></td>
<td>
<div align="left">
<input name="prenom" type="text" value="'.$_POST[prenom].'" size="24">
</div></td>
</tr>
<tr>
<td><div align="right">Naissance</div></td>
<td>
<div align="left">
<input type="text" name="naissancej" value="'.$_POST[naissancej].'" size="4">
<input type="text" name="naissancem" value="'.$_POST[naissancem].'" size="4">
<input type="text" name="naissancea" value="'.$_POST[naissancea].'" size="7">
(jj-mm-aaaa)</div></td>
</tr>
<tr>
<td><div align="right">Décés</div></td>
<td>
<div align="left">
<input type="text" name="decesj" value="'.$_POST[decesj].'" size="4">
<input type="text" name="decesm" value="'.$_POST[decesm].'" size="4">
<input type="text" name="decesa" value="'.$_POST[decesa].'" size="7">
(jj-mm-aaaa)</div></td>
</tr>
<tr>
<td><div align="right">ID Père</div></td>
<td>
<div align="left">
<input name="idpere" type="text" value="'.$_POST[idpere].'" size="24">
</div></td>
</tr>
<tr>
<td><div align="right">ID Mère</div></td>
<td>
<div align="left">
<input name="idmere" type="text" value="'.$_POST[idmere].'" size="24">
</div></td>
</tr>
<tr>
<td>
<div align="center"> </div>
</td>
<td><input type="reset" name="Submit" value="Effacer">
<input type="submit" name="Submit" value="Envoyer"></td>
</tr>
</table>
</form>';
exit;
}
voila
Marsh Posté le 11-03-2005 à 20:45:45
euh ... ca sert a quoi de mettre un exit en fin script ??
Marsh Posté le 11-03-2005 à 20:48:16
et je parle pas du code html plus que pourri !
et elle viennent d'ou les variables de la premiere ligne ?
Marsh Posté le 11-03-2005 à 21:10:57
le exit c'est pasque je ne doit pas éxécuter la fin du script quand je passe par ce bloc d'instruction.
$champremplis et $mauvaisformat, sont des tableau que j'ai fait a partir de variable venant d'un formulaire, et $_POST[reaffiche] vient directement d'un formulaire comme son nom l'indique.
Marsh Posté le 11-03-2005 à 22:34:48
tu sait pas faire un
Code :
|
??
Marsh Posté le 11-03-2005 à 22:55:51
J'croit qu'on c pas comprit, mais c'est pas grave, j'ai trouvé une autre méthode.
Marsh Posté le 12-03-2005 à 14:16:52
Je crois que celui qui n'as pas compris c'est toi.
C'est debile de metre un exit dans un page php, sauf dans de tres rares cas (mais pas dans le tien).
Dis moi, petite question, quand tu affiche ton formulaire, ta page html elle se termine comment ??
Parceque la avec ton exit je ne vois pas de "</body></html>"...
Personellement je trouve pas ca tres bien de terminer une page html par un "</form>" sans rien d'autre.
Marsh Posté le 12-03-2005 à 16:07:52
c'est horriblement codé !
mets error_reporting(E_ALL) pour apprendre à programmer correctement : si t'as une seule erreur, c'est que tu dois revoir tes 'methodes' de developpement
pour les $_POST,$_GET etc, il est préférable de les utiliser avec des quotes : $_POST['tavariable']
un count() ne s'applique qu'a des tableaux, je sais pas d'ou viennent tes variables
les @ sont à éviter le plus possible
les accents dans les nom de variables sont à bannir aussi
Marsh Posté le 12-03-2005 à 17:28:32
Pas d'accord avec le truc des @.
Perso je les utilise abondamment dans le sens ou une commande peut toujours foirer , par exemple les commandes mysql foirent si tout a coup la base de donnée se deconnecte ou commet une erreur.
Alors plutot que de donner un splendide erreur Fatal, comprenant le nom de mes scripts et accessoirement le nom de la base de donnée et autre joyeuseté qu'il vaut mieux laisser secretes, j'ai preferer mette un @ devant ces commandes et les suivre par un 'or' suivit d'une fonction qui renvoie une erreur "Standard" a l'utilisateur, inscrit dans les logs l'erreur, et tue le script
Marsh Posté le 12-03-2005 à 17:36:25
esox_ch a écrit : Pas d'accord avec le truc des @. |
dans ce cas je suis d'accord, mais la plupart du temps les gens qui utilisent le @ le font uniquement pour eviter l'affichage d'erreurs a cause d'un retour de fonction non traité auparavant ou, pire, parce que c'est mal codé et que c'est une solution de facilité (le coup du @count ici)
Marsh Posté le 12-03-2005 à 17:41:24
Oui biensur ici c'est mal utilisé, mais il faut pas bannir l'utilisation des @ pour autant Car si bien utilisés ça peut etre utile
Marsh Posté le 12-03-2005 à 17:43:31
esox_ch a écrit : Oui biensur ici c'est mal utilisé, mais il faut pas bannir l'utilisation des @ pour autant Car si bien utilisés ça peut etre utile |
C'est comme le Javascript
Marsh Posté le 12-03-2005 à 18:01:40
Les ActiveX
Marsh Posté le 12-03-2005 à 18:17:43
esox_ch a écrit : Les ActiveX |
non
Marsh Posté le 12-03-2005 à 18:44:14
Roh je plaisantais !
Marsh Posté le 13-03-2005 à 01:21:33
benamoubeach a écrit : fai un gestionnaire d'erreur |
Je pense egalement que c'est la methode la plus "propre" pour "ne pas afficher" les mesages d'erreur tout en les traitant.
D'ailleurs avec un gestionnaire d'erreur perso, il est possible de faire un log des erreurs (avec un envoi de mail a l'admin si besoin).
Voila un article sur lequel j'etais tombe qui est pas mal :
http://www.zend.com/zend/tut/tutorial-eckhouse.php
Marsh Posté le 13-03-2005 à 17:22:55
Eh bah didon, vous étes pas trés tolérant avec les débutants
Bon alors, je vais éssayé de répondre a vos questions:
Dis moi, petite question, quand tu affiche ton formulaire, ta page html elle se termine comment ??
Parceque la avec ton exit je ne vois pas de "</body></html>"...
Personellement je trouve pas ca tres bien de terminer une page html par un "</form>" sans rien d'autre.
Ceci est un fichier inclu, les balise de fin ce trouvent donc dans une autre page.
un count() ne s'applique qu'a des tableaux, je sais pas d'ou viennent tes variables
mes variables sont des tableau, donc ça tombe bien.
les @ sont à éviter le plus possible
les tableau que je compte ne sont pas forcement défini, c'est pourquoi je ne veut pas qu'il me retourne de message d'erreur.
mets error_reporting(E_ALL)
j'doit le mettre où ça, à la fin de toutes mes pages ?
fai un gestionnaire d'erreur
c'est quoi ça
Marsh Posté le 14-03-2005 à 11:49:46
esox_ch a écrit : Pas d'accord avec le truc des @. |
Comme a dit benamoubeach, avec un gestionnaire d'erreur bien fait, tu n'as jamais besoin d'utiliser @.
Marsh Posté le 11-03-2005 à 19:50:15
Bonjour,
Et tout d'abord je vous remerci d'éxister, j'croit que j'ai enfin trouvé une communauté php qui bouge, j'aurais dut y pensé avant d'allé voir sur ce forum. Bref j'vais quand même vous éxpliquer mon problème
Alors voila, je fait un site avec avec une page principal (index.php) et quand on clique sur un lien, la page vient s'inclure dans index.php enfin vous connaissez le systéme, ça donne une URL du genre www.monsite.com/index.php?page=commentaire
mais la ou ça pose problème, c'est que dans mon fichier inclu j'ai un exit, et donc j'ai pas la fin de la page index.php .
Merci de m'aider