Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2682 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Une histoire d'include et d'exit

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une histoire d'include et d'exit

n°1010175
R-O-M-1
Posté le 11-03-2005 à 19:50:15  profilanswer
 

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 :pt1cable:  
 
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  :jap:  

mood
Publicité
Posté le 11-03-2005 à 19:50:15  profilanswer
 

n°1010176
KangOl
Profil : pointeur
Posté le 11-03-2005 à 19:52:18  profilanswer
 

bha vire l'exit :o


---------------
Nos estans firs di nosse pitite patreye...
n°1010179
R-O-M-1
Posté le 11-03-2005 à 20:01:52  profilanswer
 

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.

n°1010180
KangOl
Profil : pointeur
Posté le 11-03-2005 à 20:03:26  profilanswer
 

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


---------------
Nos estans firs di nosse pitite patreye...
n°1010184
R-O-M-1
Posté le 11-03-2005 à 20:19:02  profilanswer
 

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 ?

n°1010185
KangOl
Profil : pointeur
Posté le 11-03-2005 à 20:21:08  profilanswer
 

oui, avec une condition (if)
 
donne le code bordel :fou:


---------------
Nos estans firs di nosse pitite patreye...
n°1010190
R-O-M-1
Posté le 11-03-2005 à 20:40:26  profilanswer
 

#---------- 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>&nbsp;&nbsp;&nbsp;{$é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">
         &nbsp;&nbsp;Homme<INPUT type=radio name="sexe" '.$homme.' value="M">&nbsp;&nbsp;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&eacute;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&egrave;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&egrave;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

n°1010191
KangOl
Profil : pointeur
Posté le 11-03-2005 à 20:45:45  profilanswer
 

euh ... ca sert a quoi de mettre un exit en fin script ??


---------------
Nos estans firs di nosse pitite patreye...
n°1010193
KangOl
Profil : pointeur
Posté le 11-03-2005 à 20:48:16  profilanswer
 

et je parle pas du code html plus que pourri !
 
et elle viennent d'ou les variables de la premiere ligne ?


---------------
Nos estans firs di nosse pitite patreye...
n°1010204
R-O-M-1
Posté le 11-03-2005 à 21:10:57  profilanswer
 

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.

mood
Publicité
Posté le 11-03-2005 à 21:10:57  profilanswer
 

n°1010227
KangOl
Profil : pointeur
Posté le 11-03-2005 à 22:34:48  profilanswer
 

tu sait pas faire un

Code :
  1. if(la bonne page) exit

??


---------------
Nos estans firs di nosse pitite patreye...
n°1010240
R-O-M-1
Posté le 11-03-2005 à 22:55:51  profilanswer
 

J'croit qu'on c pas comprit, mais c'est pas grave, j'ai trouvé une autre méthode.

n°1010617
cerel
Posté le 12-03-2005 à 14:16:52  profilanswer
 

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.

n°1010692
Profil sup​primé
Posté le 12-03-2005 à 16:07:52  answer
 

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


Message édité par Profil supprimé le 12-03-2005 à 16:09:27
n°1010770
esox_ch
Posté le 12-03-2005 à 17:28:32  profilanswer
 


 
 
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


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1010774
KangOl
Profil : pointeur
Posté le 12-03-2005 à 17:36:25  profilanswer
 

esox_ch a écrit :

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


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)


---------------
Nos estans firs di nosse pitite patreye...
n°1010780
esox_ch
Posté le 12-03-2005 à 17:41:24  profilanswer
 

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


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1010781
masklinn
í dag viðrar vel til loftárása
Posté le 12-03-2005 à 17:43:31  profilanswer
 

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 [:atsuko]


---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°1010803
esox_ch
Posté le 12-03-2005 à 18:01:40  profilanswer
 

Les ActiveX [:atsuko]


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1010830
masklinn
í dag viðrar vel til loftárása
Posté le 12-03-2005 à 18:17:43  profilanswer
 

esox_ch a écrit :

Les ActiveX [:atsuko]


non http://rulzofpunk.free.fr/smileys/crashburn_fou.gif


---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°1010853
esox_ch
Posté le 12-03-2005 à 18:44:14  profilanswer
 

Roh je plaisantais ! :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1010908
benamoubea​ch
tivuplai
Posté le 12-03-2005 à 19:49:01  profilanswer
 

fai un gestionnaire d'erreur

n°1011065
cerel
Posté le 13-03-2005 à 01:21:33  profilanswer
 

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


Message édité par cerel le 13-03-2005 à 01:22:06
n°1011297
R-O-M-1
Posté le 13-03-2005 à 17:22:55  profilanswer
 

Eh bah didon, vous étes pas trés tolérant avec les débutants  :cry:  
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   :??:

n°1011900
ratibus
Posté le 14-03-2005 à 11:49:46  profilanswer
 

esox_ch a écrit :

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


Comme a dit benamoubeach, avec un gestionnaire d'erreur bien fait, tu n'as jamais besoin d'utiliser @.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Une histoire d'include et d'exit

 

Sujets relatifs
[Probleme] Passer une variable dans un include (sans sql serveur)Faire des include conditionnel?
Modifier code d'une page distante en include[c# / .NET][résolu] erreur sur Application.Exit()
include avec SSISavoir si on est dans un include...
Include dans un sous tableau :-(Problème include de fichier [résolu]
Include d'un fichier php distantProbleme passage de paramètres et fonction include
Plus de sujets relatifs à : Une histoire d'include et d'exit


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR