header fait des siennes - PHP - Programmation
Marsh Posté le 25-04-2005 à 09:22:28
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 :
|
"bibi" c'est une chaine de caractère ? Si oui, oubli pas les double quotes. Et Tu peux faire un truc du style:
Code :
|
Marsh Posté le 25-04-2005 à 09:43:36
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
Marsh Posté le 25-04-2005 à 10:52:24
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"
Marsh Posté le 25-04-2005 à 13:44:41
On peut mexpliquer le output, quest ce que ca signifie, et comment puis je corriger lerreur svp.
Marsh Posté le 25-04-2005 à 14:42:35
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(); |
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
Marsh Posté le 25-04-2005 à 15:07:57
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
Marsh Posté le 25-04-2005 à 15:11:10
Quoi mon script bourré d'erreur ? C'est le tiens repris tel quel avec juste l'ordre des choses modifié, hein
Marsh Posté le 25-04-2005 à 15:12:00
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
Marsh Posté le 25-04-2005 à 15:23:28
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.
Marsh Posté le 25-04-2005 à 15:24:09
c'est de l'arrache jadmet, mais pour un faux projet comme le mien, je ne vais pas chercher bien loin
Marsh Posté le 25-04-2005 à 15:35:43
Badze a écrit : oui ton script a des erreurs, |
C'est pas un script, c'est un vague copié-collé histoire de montrer le truc
Marsh Posté le 25-04-2005 à 15:42:30
"Vague", en effet, c'est le mot
En tout cas merci, je n'avais pas calculer le truc de mettre le code php en priorité en haut.
Thx florentG
Marsh Posté le 25-04-2005 à 15:49:07
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.
Marsh Posté le 25-04-2005 à 16:36:33
cerel a écrit : |
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.
Marsh Posté le 25-04-2005 à 16:37:04
S'il est faux, oui. Mais s'il est vrai c'est pas cool de balancer le formulaire pour rien
Marsh Posté le 25-04-2005 à 16:38:48
ba dans tes modification, le formulaire n'est pas employer si la reponse est bonne :?
Marsh Posté le 25-04-2005 à 16:47:06
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 ??
Marsh Posté le 25-04-2005 à 16:50:54
Bon, voilà le truc :
<?php |
Marsh Posté le 25-04-2005 à 17:12:57
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 ??
Marsh Posté le 25-04-2005 à 18:08:56
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
Marsh Posté le 25-04-2005 à 19:24:19
Badze a écrit : un truc que je nai toujours pas compris au niveau du html. |
Citation : 17.9 Les labels |
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 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.
Marsh Posté le 25-04-2005 à 19:28:52
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
Marsh Posté le 25-04-2005 à 05:27:57
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 ), mais pas moyen, et j'ai fait mes recherches si cela peut rassuré certain.
il aime pas header('location: ../index.php');
merci