Problème fonction header

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème fonction header

Re: Problème fonction header

par moogli » 09 mars 2011, 09:12

en fait le plus courant est l'utilisation de "pseudo frame". ceci peut être fait en différenciant le traitement de l'affichage, voir en allant plus loin en appliquant un MVC (Modèle Vue Controleur).

concretement, au début de la page tu effectue tous ce qui est traitement de donnée (qu'elle page afficher, faut il valider un formulaire etc), après tu réalise l'affichage du site en lui même car dans la partie traitement tu remplis des variables "buffer" qui te servent à alimenter la partie affichage.

tu peut te renseigner sur les systeme de template pour avoir une idée de la chose.

Perso j'utilisé 3 variables (entete, coprs et pieds) et dans mon html j'avais
<?php
include('config.php');
include('validationformulaire');
include('traitement.php');
?>
<html>
<head>
<?php echo $head; ?>
</head>
<body>
<?php 
echo $body, $footer; 
?>
</body>
</html>
bon c'est shématisé mais le principe est la, dans le cas d'un MCV les ficher validationformulaire.php et traitement.php réalise le C, le code html + les 2 echo le V et le modèle ce quoi on fait appel dans le controleur (classe / fonction de news, d'affichage de page ect).

pour solutionner ton problème tu aussi utiliser la bufferisation de sortie (voir ob_start), c'est pas terrible car cache le problème de conception mais devrait être efficace dans ton cas :)

edit : rraaaa grilled by xTG ^^

@+

Re: Problème fonction header

par xTG » 09 mars 2011, 09:02

Tu peux gérer cela avec des buffers par exemple, ou bien une simple variable String.

En gros cela revient à quelque chose de ce genre pour le plus basique :
<?php
// Traitement
if( $_POST et blablalba)
{
  // traitement des variables et du comportement
  ....
  // On a un affichage à faire
  $str = $str . "Mon affichage !";

  // ou bien un header
  header(...); // qui ne pose aucun problème car nous n'avons encore rien envoyé au navigateur
}

// Affichage (envoi au navigateur)
include("header.php"); // le header du site par exemple
// ici on se trouve dans le contenu de la page par exemple
echo $str; // affichage de notre contenu
include("footer.php");
?>

Re: Problème fonction header

par rafy79 » 09 mars 2011, 07:23

J'ai bien noté que c'était au cause de la construction de mon site que j'avais des problèmes de fonctionnement mais dans ce cas comment a l'avenir doit je construire afin d'avoir des parties fixes et des parties dynamiques a part refaire la structure a chaque fois que je créée une page je vois pas trop vous pourriez peut être m'éclairer ?

Re: Problème fonction header

par AB » 08 mars 2011, 23:49

Non avant l'include de ton fichier qui affiche la page en cours.

Evidemment si ton code php est inclus dans la page que tu inclue ça pose problème. Tu pourrais séparer le code php du code html et faire un include du code php de la même manière que tu fais ton include du code html. Mais bon c'est pas forcément pratique à gérer.

Re: Problème fonction header

par rafy79 » 08 mars 2011, 23:37

Il faut j'include tôut les fichiers de mon site c Ca ?

Re: Problème fonction header

par moogli » 08 mars 2011, 21:45

salut,

Il faut faire ton traitement de formulaire avant tout affichage !

par exemple
include ('validation formulaire');
include( entete);
include(coprs);
include(pieds);

c'est le seul moyen en php, sinon y a l'équivalent en javascript :)


@+

Re: Problème fonction header

par rafy79 » 08 mars 2011, 20:47

Et comment je fais pour mettre le header avant les include ?
Effectivement ce site est pas très bien conçu je vous l'accorde mais bon...

Re: Problème fonction header

par AB » 08 mars 2011, 20:39

Ben tu mets ton header avant les include de pages html

Re: Problème fonction header

par xTG » 08 mars 2011, 19:57

A site mal conçu bon coup de pied au cul. :)

Problème fonction header

par rafy79 » 08 mars 2011, 18:12

Bonjour, je suis nouveau sur ce forum j'espère poster au bon endroit mon souci
Alors voilà je suis en train de faire un formulaire en php et mon problème réside sur le fait que j'aimerais pouvoir renvoyer ma page de traitement lors de la validation du formulaire et revenir sur celui mais la fonction header ne fonctionne pas car mon mode de navigation est basé sur des include pour mes pages centrales et du coup j'ai toujours forcément de l'html qui est affiché et le header me le dit légitimement comment puis je faire pour résoudre mon problème ?

Mes propos sont peut être un peu confus vous pouvez jeter un coup d'oeil a mon formulaire a cette adresse : http://www.option-impression.fr/test/in ... formulaire

Merci pour vos reponses