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

  FORUM HardWare.fr
  Programmation
  PHP

  header fait des siennes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

header fait des siennes

n°1059328
Badze
Aime les frites
Posté le 25-04-2005 à 05:27:57  profilanswer
 

voici mon petit script

<?session_start();?>
 
<form method="post">
<input type="password" size="20"  name="pass">
<input type="submit">
</form>
<?
if (isset($_POST['pass']))
{
$pass=$_POST['pass'];
 if ($pass==bibi){
  $_SESSION['admin']=true;
  header('location: ../index.php');}
 else
  echo "<br>mauvais password";
}
?>


 
voici mon erreur  

Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/0/1/badze/fonctions php/admin_test.php:9) in /var/www/free.fr/0/1/badze/fonctions php/admin_test.php on line 13


je me creuse un peu la tete (il est quand meme 5heure du mat :sleep: ), mais pas moyen, et j'ai fait mes recherches si cela peut rassuré certain.  
 
il aime pas header('location: ../index.php');
 
merci

mood
Publicité
Posté le 25-04-2005 à 05:27:57  profilanswer
 

n°1059375
AlphaZone
Posté le 25-04-2005 à 09:22:28  profilanswer
 

Tiens ca devrais t'aidé, j'avais déjà posté le sujet:
http://forum.hardware.fr/forum2.ph [...] ash_post=0
 
 
Au faite ! Dans ton code je vois

Code :
  1. if($pass==bibi)
  2. // etc...


"bibi" c'est une chaine de caractère ? Si oui, oubli pas les double quotes. Et Tu peux faire un truc du style:

Code :
  1. if(strcmp($pass, "bibi" ) == 0)
  2. {
  3.   // ton code
  4. }
  5. //...


Message édité par AlphaZone le 25-04-2005 à 09:29:07
n°1059393
FlorentG
Unité de Masse
Posté le 25-04-2005 à 09:43:36  profilanswer
 

C'est normal, tu commences à afficher des bouts de ton formulaires, puis tu fait ton header location, ce qui est incorrect. Un header location doit se faire avant tout outputting

n°1059492
cesarr89
Posté le 25-04-2005 à 10:52:24  profilanswer
 

Et oui, je suis d'accord avec FlorentG, c'est pour cela que l'erreur est: "Cannot modify header information - headers already sent by (output started at"

n°1059684
Badze
Aime les frites
Posté le 25-04-2005 à 13:44:41  profilanswer
 

On peut mexpliquer le output, quest ce que ca signifie, et comment puis je corriger lerreur svp.

n°1059793
FlorentG
Unité de Masse
Posté le 25-04-2005 à 14:42:35  profilanswer
 

Dès le départ où t'as quelque chose en dehors des <?php ?> (dans ton cas c'est <form method="post">...), l'header HTTP est envoyé. Donc tu ne peux pas le modifier par après. Donc tout ce qui touche à l'header doit être envoyé avant de mettre des trucs genre <form>. Donc petite correction :

<?php session_start();  
 
if (isset($_POST['pass'])) {
  $pass=$_POST['pass'];
 
  if ($pass==bibi){
    $_SESSION['admin']=true;
    header('location: ../index.php');
  } else {
  echo "<br>mauvais password";
 }
 
?>
 
<form method="post">
<input type="password" size="20"  name="pass">
<input type="submit">
</form>
?>


D'ailleurs je vois pas l'interêt d'afficher le formulaire, puis de tester le mot de passe pour enfin rediriger sur une autre page :/

n°1059854
Badze
Aime les frites
Posté le 25-04-2005 à 15:07:57  profilanswer
 

moi l'interet je le vois, dans mon cas de figure, il me faut ca.
 
malgré ton script bourré d'erreur, il marche tout le meme ;)
 
merci

n°1059863
FlorentG
Unité de Masse
Posté le 25-04-2005 à 15:11:10  profilanswer
 

Quoi mon script bourré d'erreur ? :heink: C'est le tiens repris tel quel avec juste l'ordre des choses modifié, hein ;)

n°1059866
FlorentG
Unité de Masse
Posté le 25-04-2005 à 15:12:00  profilanswer
 

Et pis comme dit y'a aucun interêt : Tu veux envoyer le formulaire au mec pour tout de suite après changer de page, donc ça sert strictement à rien d'afficher le formulaire [:itm]

n°1059895
Badze
Aime les frites
Posté le 25-04-2005 à 15:23:28  profilanswer
 

oui ton script a des erreurs,
il manque un } et il y a ?> en trop.
 
En fait je cree juste un formulaire pour l'admin.
il rentre le mot de passe, la session admin s'actionne, et toutes les options du site s'actionne.

mood
Publicité
Posté le 25-04-2005 à 15:23:28  profilanswer
 

n°1059898
Badze
Aime les frites
Posté le 25-04-2005 à 15:24:09  profilanswer
 

c'est de l'arrache jadmet, mais pour un faux projet comme le mien, je ne vais pas chercher bien loin

n°1059926
FlorentG
Unité de Masse
Posté le 25-04-2005 à 15:35:43  profilanswer
 

Badze a écrit :

oui ton script a des erreurs,
il manque un } et il y a ?> en trop.
 
En fait je cree juste un formulaire pour l'admin.
il rentre le mot de passe, la session admin s'actionne, et toutes les options du site s'actionne.


C'est pas un script, c'est un vague copié-collé histoire de montrer le truc :D

n°1059936
Badze
Aime les frites
Posté le 25-04-2005 à 15:42:30  profilanswer
 

"Vague", en effet, c'est le mot :D
 
En tout cas merci, je n'avais pas calculer le truc de mettre le code php en priorité en haut.
 
Thx florentG

n°1059944
cerel
Posté le 25-04-2005 à 15:49:07  profilanswer
 

Utiliser le meme code pour faire l'affichage du formulaire et son traitement je trouve pas ca tres "top moumoute".
 
Dans ton cas tu as :
1) affichage form html
2) variables en post ? non
[envoi formulaire]
3) affichage form html
4) variables en post ? oui
5) bon password ?  
5a) oui => redirection
5b) non => msg d'erreur.
 
Je suis desole, mais afficher de nouveau le formulaire lors de la "2e passe" n'est pas tres logique...
Et c'est d'ailleurs a cause de ca (ainsi que du code html qui precede [tu crees bien un <html><header> qqpart non ? ]) que tu as ton probleme.

n°1060021
Badze
Aime les frites
Posté le 25-04-2005 à 16:36:33  profilanswer
 

cerel a écrit :


 
Je suis desole, mais afficher de nouveau le formulaire lors de la "2e passe" n'est pas tres logique...


 
Je ne vois pas vraiement ce que tu veut dire par la.
Je trouve logique que l'on vois mon formulaire sur mon password est faux.
 
Montre moi alors un meilleur script que le mien, donne moi conseil en montrant mieux stp.
Je verrai mieux la situation.

n°1060023
FlorentG
Unité de Masse
Posté le 25-04-2005 à 16:37:04  profilanswer
 

S'il est faux, oui. Mais s'il est vrai c'est pas cool de balancer le formulaire pour rien :(

n°1060025
Badze
Aime les frites
Posté le 25-04-2005 à 16:38:48  profilanswer
 

ba dans tes modification, le formulaire n'est pas employer si la reponse est bonne :?

n°1060027
FlorentG
Unité de Masse
Posté le 25-04-2005 à 16:42:05  profilanswer
 

Non, vu qu'il y a le header location

n°1060029
FlorentG
Unité de Masse
Posté le 25-04-2005 à 16:42:25  profilanswer
 

Enfin j'ai oublié de trifouiller les accolades :D

n°1060036
Badze
Aime les frites
Posté le 25-04-2005 à 16:47:06  profilanswer
 

ba je vois pas ce que Cerel veut dire alors.
A moins qu'il me parle de mon 1er script, la je suis d'accord.
 
Confirmation Cerel ??

n°1060039
FlorentG
Unité de Masse
Posté le 25-04-2005 à 16:50:54  profilanswer
 

Bon, voilà le truc :

<?php
  session_start();  
  $pouet = '';
 
  if(isset($_POST['pass'])) {
 
    if ($_POST['pass'] == 'bibi') {
 
      $_SESSION['admin'] = true;
      header('location: ../index.php');
 
    } else {
     
      $pouet = 'Mauvais password'
 
    }
  }
 
?>
 
<form method="post">
  <div>
    <label for="pass">Password</label> <input type="password" size="20"  name="pass" id="pass" />
    <p id="error"><?php echo $pouet ?></p>
    <input type="submit">
  </div>
</form>

n°1060051
Badze
Aime les frites
Posté le 25-04-2005 à 17:12:57  profilanswer
 

un truc que je nai toujours pas compris au niveau du html.
 
Pourquoi faite vous des Label, car je ne vois pas du tout l'utilité.
 
C'est pareil pour le id="error", ce serait des class CSS, je comprendrai mais la ??

n°1060122
naceroth
Posté le 25-04-2005 à 18:08:56  profilanswer
 

Pour l'id je compatis, en effet j'aurais utilisé une classe, mais le côté ultra-light du form peut expliquer cela.
 
Le label, c'est un peu à ça qu'il sert, en plus d'ajouter un petit truc que n'aurait pas un texte simple et une bonne simplification de la mise en page/forme :)

n°1060150
Badze
Aime les frites
Posté le 25-04-2005 à 18:24:28  profilanswer
 

mouai, si on veut, je ne suis pas convaincu.

n°1060262
FlorentG
Unité de Masse
Posté le 25-04-2005 à 19:24:19  profilanswer
 

Badze a écrit :

un truc que je nai toujours pas compris au niveau du html.
 
Pourquoi faite vous des Label, car je ne vois pas du tout l'utilité.
 
C'est pareil pour le id="error", ce serait des class CSS, je comprendrai mais la ??


Recommandation HTML 4.01 :

Citation :

17.9 Les labels
 
Quelques commandes de formulaire ont des labels qui leur sont automatiquement associés (les boutons poussoirs) tandis que la plupart d'entre elles en sont dépourvues (les champs de texte, les cases à cocher et les boutons radio ainsi que les menus).
 
Pour celles des commandes qui ont un label implicite, les agents utilisateurs devraient utiliser la valeur de l'attribut value comme chaîne pour le label.
 
On utilise l'élément LABEL pour spécifier les labels des commandes qui n'ont pas de labels implicites.


 
De manière générale, on ne balance jamais de texte comme ça au beau milieu de nulle part. Avec ton formulaire, t'as tes contrôles, et de manière générale un texte associé. Et justement pour associer ce texte au contrôle, on utilise un label. Tu clique sur le label, ça t'ammène sur le contrôle. Pour ceux qui utilisent un lecteur d'écran, le lecteur va pouvoir énumérer chaque label associé, sans faire un gros mix incompréhensible avec du texte perdu. C'est tout. C'est comme ça, et on discute pas :D C'est comme ça qu'on fait des pages webs : on utilise des éléments pour un certain but. Si tu vois pas l'utilité des label, alors je pense que tu ne vois pas l'utilité des balises <p>... En effet, suffit de foutre un bloc de texte, un <br />, un bloc de texte, un <br />, etc. ;) :D

n°1060270
Badze
Aime les frites
Posté le 25-04-2005 à 19:28:52  profilanswer
 

je ne savais pas du tout, c'est tres bien expliquer,
cela sert juste a relier les 2 élément du formulaire, meme si ce n'est pas obligatoire pour l'éxécution de la page, il est quand meme conseiller de le faire.
 
merci

n°1060277
FlorentG
Unité de Masse
Posté le 25-04-2005 à 19:37:17  profilanswer
 

Voilà :jap:

mood
Publicité
Posté le   profilanswer
 


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

  header fait des siennes

 

Sujets relatifs
Pb header et automatisation redimensionnement image...Header http en c#
Authentification basique et redirection (header)Redirection sans header()
[Divers] Header htaccess en php ?[ASP] Header "attached file" et erreur javascript...
header bizarre, comment ça fonctionne ?parser un header imap
header Content-Disposition: attachment et readfile()utilisation du if et du header
Plus de sujets relatifs à : header fait des siennes


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