Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2010, 10h20   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 3
Points : 0
Points : 0
Par défaut Problème de style : Session_start() / DOCTYPE

Bonjour,
J'aimerais avoir dans mon fichier "index.php" le début de code ci-dessous :

Code php :
1
2
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Cependant, si je fais cela et que j'ouvre l'explorateur, mes styles (et formulaires) partent complètement en vrille.

Mes styles et formulaires apparaissent proprement si j'enlève :
soit:
Code php :
<?php session_start(); ?>
soit:
Code php :
<!DOCTYPE html ...>

Évidemment j'ai besoin de ces deux lignes...
thaobou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2010, 14h52   #2
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
Bonjour,
Désolé de te décevoir mais les sessions non rien a voir avec tes styles de pages! Tu dois avoir plutôt un problème d'interprétation de code :-)....
Je pense que ton code html ne doit pas être conforme au norme xhtml1 ???
Vérifie bien et donne nous les codes html (clic droit-->afficher le code)...
J'ai l'impression que le doctype n'est pas interprète correctement a chaque fois... (et donc quand il n'est pas interprete tu as un affichage correcte...)

Guigo
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 18h30   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 3
Points : 0
Points : 0
Bonjour,
J'ai passé le fichier au vérificateur HTML qui m'indique que le fichier est conforme.

De même le code vu du navigateur me semble correct :

Code :
1
2
3
4
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" id="toto" class=" no_js">
<head>
...
Une piste ? please...
thaobou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 19h05   #4
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonsoir,

C'est bizarre un id et une classe CSS sur un tag <html>...

Pourrais tu nous en envoyer un peu plus ??

Cdt,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 20h52   #5
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 699
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 699
Points : 3 269
Points : 3 269
Salut

A mon avis, tu dois avoir une erreur coté Php.

As tu activé les messages d'erreurs coté php.ini (display_errors) pour justement savoir s'il y a réellement erreur, et laquelle si tel est le cas ?
(au pire, consulter les log d'erreurs, genre php_error.log)

Citation:
C'est bizarre un id et une classe CSS sur un tag <html>...
Etrange, effectivement ?

Théoriquement, un document HTML est unique, il ne peu pas en avoir 2, c'est pas possible.
Du coup, les balises telles que <html>, <head>, <body> entre autres, sont forcément uniques, donc je ne vois pas l'intérêt de mettre ou définir un ID.
De plus, je ne crois pas qu'il soit possible d'atteindre le contenu du <head> par exemple en Javascript pour le changer (par exemple).

Question donc : A quoi servirait cet ID sur la balise <html> ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 23h05   #6
Invité de passage
 
Inscription : décembre 2010
Messages : 3
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 3
Points : 0
Points : 0
Moi qui espérais avoir un bug classique de débutant

J'ai vérifié le php.ini, il y a bien :
display_errors = On

Concernant l'id et la classe, je n'en sais rien, j'ai récupéré la partie header je ne sais où. Même quand j'enlève ces deux choses, ça ne marche toujours pas.

Voici le code tel quel :

Avez-vous une idée siouplé ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
		<title>Yep cool !</title>
		<link href="../css/style.css" media="all" rel="stylesheet" type="text/css" />
	</head>
 
	<body>
 
 
		<form action="ctrl_add.php" method="post">
			<div class="login">
				<div class="login-titre">
					<p><strong>Pas encore connecté ?</strong></p></div>		
				<div class="login-libellé">
					<p>Prénom</p></div>
				<div class="login-saisie">
					<input name="fname" maxlength="40" /></div>
				<div class="login-libellé">
					<p>Nom</p></div>
				<div class="login-saisie">
					<input name="lname" maxlength="40" /></div>
				<div class="login-libellé">
					<p>Adresse mail</p></div>
				<div class="login-saisie">
					<input name="email" maxlength="40" /></div>
				<div class="login-libellé">
					<p>Mot de passe</p></div>
				<div class="login-saisie">
					<input type="password" name="pword" maxlength="20"/></div>
				<div class="login-libellé">
					<p>Mot de passe <small>(confirmation)</small></p></div>		
				<div class="login-saisie">
					<input type="password" name="pword2" maxlength="20" /></div>
				<div class="login-libellé">
					<p>&nbsp;</p></div>
				<div class="login-saisie">
					<input type="submit" value=" Enregistrer " /></div>
			</div>
		</form>
 
		<form action="ctrl_login.php" method="post">
			<div class="login">
				<div class="login-titre">
					<p><strong>Identifiez-vous !</strong></p></div>		
				<div class="login-libellé">
					<p>Adresse mail</p></div>
				<div class="login-saisie">
					<input name="email" maxlength="40" /></div>
				<div class="login-libellé">
					<p>Mot de passe</p></div>
				<div class="login-saisie">
					<input type="password" name="pword" maxlength="20"/></div>
				<div class="login-libellé">
					<p>&nbsp;</p></div>
				<div class="login-saisie">
					<input type="submit" value=" Ok " /></div>
			</div>
		</form>
	</body>
</html>
thaobou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 08h49   #7
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 699
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 699
Points : 3 269
Points : 3 269
Non mais, tu remets sans cesse du code HTML, alors que tu remarque que c'est dès l'ajout du session_start() ça par en vrille.
Donc c'est du coté Php que ça n'irait pas et qu'il faut prospecter, non ?


Du coup, met ton code html de coté (une copie), et mets par exemple un code comme celui ci dans ton index.php (et uniquement) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
session_start();
 
echo 'Ok<br />';
 
echo 'session_name : '.session_name().'<br />';
echo 'session_id : '.session_id().'<br />';
 
$_SESSION['test'] = 'Un essai de session';
echo 'session : '.$_SESSION['test'].'<br />';
echo 'display_errors : '.ini_get('display_errors').'<br />';
Théoriquement il ne devrait pas avoir d'erreur, et ceci affiché :
Ok
session_name : PHPSESSID
session_id : 123456789....
session : Un essai de session
display_errors : 1


Vois tu tout ceci correctement ?
Y a t-il un message d'erreur ? (consulte le php_error.log au besoin)
Regarde le code généré du coté navigateur (code source de la page), sait on jamais.

Qu'est ce que tu as comme directives pour les sessions dans le php.ini ? Est-ce correcte ?
(session.save_path, session.auto_start, session.use_trans_sid entre autre)
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 09h21   #8
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
non de diou des classes CSS avec des accents !!!
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h28.


 
 
 
 
Partenaires

Hébergement Web