Warning: session_start() [function.session-start]: - PHP - Programmation
Marsh Posté le 26-05-2003 à 22:53:58
Perok a écrit : Bonjour, |
j'ai comme un doute
le 1er msg est pourtant clair non?
tu ne peux envoyer des headers (c-a-d cookies, redirection etc) qu'AVANT avoir envoyé du contenu. la, soit tu ne montre pas tout, soit tu as une ligne vide avant le début de ton script
Marsh Posté le 26-05-2003 à 23:13:31
je n'ai pas compris ce que tu voulais dire...
Ce n'est vraiment pas clair comme message d'erreur pour moi, peux tu être un peu plus explicite stp?
merci
Marsh Posté le 26-05-2003 à 23:15:19
euh.. comment dire... t'as lu mon post? les 2 dernieres lignes sont pas claires?
le "warning" te dit que tu as déjà envoyé du contenu au client(le browser) en ligne 5 (ou avant), que tu ne peux plus envoyer de headers (cookies, redirect, ...)
tjs pas clair?
Marsh Posté le 26-05-2003 à 23:18:55
voivi le script complet :
<html>
<head>
<title>CSC V.I.P. : Accueil</title>
</head></html>
<?php
//Vérification que les deux champs ont bien été compléter
if(!$login || !$pass)
{
echo "Tous les champs sont obligatoires.<br>";
exit;
}
//Connexion à la base de données
@ $db = mysql_pconnect("xxx", "yyyyyyy", "zzzzzzzz" );
if(!$db)
{
echo "Erreur : Impossible de se connecter à la base de données. Prière de réessayer ultérieurement";
exit;
}
//Sélection de la base de données
mysql_select_db("colmarskcsc" );
//Requête pour vérifier que le nom d'utilisateur existe
$query = "select login, password from membres where login = '".$login."'";
$result = mysql_query($query);
if(!$result)
{
echo "Nom d utilisateur érroné. Veuillez recommencer.<br>";
echo "<a href=javascript:history.back()>Retour à l accueil</a><br>";
exit;
}
else
{
$passwd = mysql_fetch_array($result);
if($passwd["password"] != $pass)
{
echo "Mot de passe érroné. Veuillez recommencer.<br>";
echo "<a href=javascript:history.back()>Retour à l'accueil</a><br>";
exit;
}
else
{
session_start();
session_register("login" );
//session_register('login');
$query_u = "select nom, prenom from membres where login = '".$login."'";
$result_u = mysql_query($query_u);
$user = mysql_fetch_array($result_u);
echo "Bonjour <b><font color=#666666>".$user["prenom"]." ".$user["nom"]."</font></b>,<p>Bienvenue dans ton espace personnalisé uniquement accessible aux membres de CSC.</p>";
echo "<a target=_blank href=membre.php>Consulter les infos confidentielles de l'association</a>";
echo "<br><a target=_blank href=http://webmail.ovh.net>Consulter vos mails</a>";
echo "<br><a target=_blank href=modif_passwd.php>Modifier votre mot de passe</a>";
echo "<br><center><a href=logout.php>Déconnexion</a></center>";
exit;
}
}
?>
Marsh Posté le 26-05-2003 à 23:19:43
non, toujours pas clair, voici le script en entier, dis moi ce que tu penses que je devrais modifier stp
Marsh Posté le 26-05-2003 à 23:23:25
ReplyMarsh Posté le 26-05-2003 à 23:28:46
ben,
honêtement, ça fait seulement un peu plus de 2 mois que je fais du php, et biensur j'ai encore du mal avec ce nouveau langage de script, donc si tu pouvais me passer un coup de pouce, ce serait vraiment fort sympthique. En plus il est tard, et j'ai plus trop envie de jouer au devinette...
Le phénomène de session c'est tout neuf pour moi... donc si tu pe me donner la solution se serait vraiment cool.
merci d'avance
Marsh Posté le 26-05-2003 à 23:32:39
the real moins moins a écrit : |
... si après deux mois tu comprend pas un minimum ce qui se passe entre php sur le serveur et le browser client ...
Marsh Posté le 26-05-2003 à 23:33:42
Perok a écrit : ben, |
Faire de la prog c'est pas jouer aux devinettes, hein. Ou alors si tu considères ça comme ça, t'as pas gagné la guerre
Il suffit d'être logique (et accessoirement de parler un peu anglais) ; t'as aussi le manuel PHP qui aide beaucoup : http://www.php.net/manual/fr
Marsh Posté le 26-05-2003 à 23:36:09
très bien, puisque tu le prend comme ça monsieur je sais tout...
Merci beaucoup pour la solidarité hardware.fr ...
Marsh Posté le 26-05-2003 à 23:37:48
Taiche a écrit : |
ben t'as meme moins moins qui explique mais là que dire de plus?
Marsh Posté le 26-05-2003 à 23:41:44
Perok a écrit : très bien, puisque tu le prend comme ça monsieur je sais tout... |
La solidarité, je suis pour ; y a qu'à voir le nombre de topics ici qui trouvent des gens pour y répondre. Par contre, si les posteurs n'y mettent pas un peu du leur et jouent les feignasses, alors faut pas s'étonner qu'ils se fassent envoyer sur les roses. La réponse à ta question est dans le manuel PHP.
Ensuite, ce forum est pourvu d'une fonction Tu tapes "headers already" dedans et t'as des topics répondant à la même question que la tienne qui ont déjà été posé ; le dernier date de fin avril !
Alors si tu sais pas te servir d'un manuel ou d'une fonction rechercher, viens pas te plaindre et crier à la non-solidarité
Marsh Posté le 26-05-2003 à 23:44:38
Très bien, faîtes tous les deux les malins, tant que vous avez le vent dans le dos...
Mais sachez qu'un jour, le vent tourne forcément, et là bande de stupide blaireau, vous ne mériterez que ce que vous avez semé!!!
Pas étonnant qu'après les gens qui font de l'informatique ont des réputations à la con... vous montrez vraiment le parfait état d'esprit de l'informaticien... honte à vous...
Marsh Posté le 26-05-2003 à 23:47:41
je parie que vous êtes le genre de gars scotché toute la journée sur vos pc, super vicelar et pervers...
Mais si ça vous rend heureux...
Marsh Posté le 26-05-2003 à 23:48:25
Perok a écrit : Très bien, faîtes tous les deux les malins, tant que vous avez le vent dans le dos... |
T'as raison, Bob
J'ai déjà rencontré plusieurs problèmes et j'en ai résolu beaucoup en lisant la doc ou en cherchant sur le Net. C'est uniquement après que je n'ai rien trouvé que je suis venu poster ici et j'ai trouvé des gens très bien qui m'ont aidé.
Et c'est pareil en informatique ou dans n'importe quel autre domaine : si tu ne fournis pas l'effort minimum pour t'en sortir un brin tout seul, tu seras considéré comme un dindon qui manque de débrouillardise et de sens pratique
Plutôt que de nous insulter, commence par fournir toi-même les efforts de base.
Marsh Posté le 26-05-2003 à 23:48:50
Perok a écrit : je parie que vous êtes le genre de gars scotché toute la journée sur vos pc, super vicelar et pervers... |
Exactement
Marsh Posté le 26-05-2003 à 23:50:22
besoin de mes services ? le PHP ça me connait
Marsh Posté le 26-05-2003 à 23:51:13
Serial Coder a écrit : |
Ba prends le relais si tu veux, moi les feignasses j'aime pas ça
Marsh Posté le 26-05-2003 à 23:52:22
bon, reprenons depuis le début !
Perok > quel est ton souci ?
Marsh Posté le 27-05-2003 à 00:00:44
bon finalement je crois que j'ai trouvé,
apparemment j'avais les warnig a cause des balises html
Mais comment dois je faire alors si je veux quand même donner un titre à ma page??
Marsh Posté le 27-05-2003 à 00:02:42
bon affole toi, j'ai pas toute la nuit !
déjà je te donne une piste : si tu as une version de PHP inférieure à la 4.2.0 RC1, c'est normal ! c'est un bug référencé sur ces versions !
pour y remédier, tu dois installer le framework .NET 1.1 dispo sur le site de Microsoft ainsi qu'Apache 2.0 !
Marsh Posté le 27-05-2003 à 00:10:12
bon je me casse moi hein
si t'es pas foutu de me donner les infos dont j'ai besoin pour t'aider, je peux rien pour toi ! tain, bravo la solidarité : je me casse le cul à vouloir aider un type perdu et il est même pas foutu de me répondre !
tu sais ce que t'es hein ? tu le sais ? pfff, j'ose même pas le dire !
je ne te salue pas
Marsh Posté le 27-05-2003 à 00:10:58
je te remercie quand même serial coder, mais là je suis naze et je vais me coucher...
Mais encore un petit truc , j'aimerais insérer du javascript (pour éviter les clics droit dans mes album photos) dans un script php, c'est possible??? quelle est la syntaxe :
<?
echo"<script=javascript>...</script>";
?>
Marsh Posté le 27-05-2003 à 00:13:27
Perok a écrit : je te remercie quand même serial coder, mais là je suis naze et je vais me coucher... |
tu peux, mais lors de l'interpretation de ton script, la chaine de caractères correspondante sera mal interprétée.
il te faut le module php2javascript 4.12, que tu devras déclarer dans ton php.ini, juste après la ligne décrivant le referer !
a+
Marsh Posté le 27-05-2003 à 00:16:52
il ne le faudrait pas plutot sur le serveur ou j'héberge mon site web???
Marsh Posté le 27-05-2003 à 00:21:01
Perok a écrit : je parie que vous êtes le genre de gars scotché toute la journée sur vos pc, super vicelar et pervers... |
tout à fait moi
Marsh Posté le 27-05-2003 à 00:21:58
Perok a écrit : bon finalement je crois que j'ai trouvé, |
il a TROUVÉ ! ALLELUIA
Marsh Posté le 27-05-2003 à 00:22:14
mais bien sur que non ! le javascript est exécuté coté client, qu'il soit généré à partir de PHP ou autre ! c'est toi qui doit adapter ton site au visiteur et pas l'inverse !
Marsh Posté le 27-05-2003 à 00:44:28
la fonction session_start se fait en debut de page avant tout element affichable. sinon ya erreur....
Marsh Posté le 27-05-2003 à 01:12:53
DocWario a écrit : la fonction session_start se fait en debut de page avant tout element affichable. sinon ya erreur.... |
ça fait jamais que 30 posts qu'on lui dit hein
Marsh Posté le 27-05-2003 à 08:24:15
the real moins moins a écrit : ça fait jamais que 30 posts qu'on lui dit hein |
pas nous, le message d'erreur.
Marsh Posté le 27-05-2003 à 12:32:02
Taiche a écrit : |
je lui ai traduit 2 fois
Marsh Posté le 26-05-2003 à 22:35:15
Bonjour,
je suis desespéré, voici mon script d'authentification commenté qui me sort ces deux erreurs lorsque je l'éxecute, il fonctionne très bien, mais m'affiche ces 2 warning. Comment puis les enlever???
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/colmarsk/www/include/membres_csc/login.php:5) in /home/colmarsk/www/include/membres_csc/login.php on line 43
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/colmarsk/www/include/membres_csc/login.php:5) in /home/colmarsk/www/include/membres_csc/login.php on line 43
Mon script
[#0000d4]//Requête pour vérifier que le nom d'utilisateur existe
$query = "select login, password from membres where login = '".$login."'";
$result = mysql_query($query);
if(!$result)
{
echo "Nom d utilisateur érroné. Veuillez recommencer.<br>";
echo "<a href=javascript:history.back()>Retour à l accueil</a><br>";
exit;
}
else
{
$passwd = mysql_fetch_array($result);
if($passwd["password"] != $pass)
{
echo "Mot de passe érroné. Veuillez recommencer.<br>";
echo "<a href=javascript:history.back()>Retour à l'accueil</a><br>";
exit;
}
else
{
session_start();
session_register("login" );
//session_register('login');
$query_u = "select nom, prenom from membres where login = '".$login."'";
$result_u = mysql_query($query_u);
$user = mysql_fetch_array($result_u);
echo "Bonjour <b><font color=#666666>".$user["prenom"]." ".$user["nom"]."</font></b>,<p>Bienvenue dans ton espace personnalisé uniquement accessible aux membres de CSC.</p>";
echo "<a target=_blank href=membre.php>Consulter les infos confidentielles de l'association</a>";
echo "<br><a target=_blank href=http://webmail.ovh.net>Consulter vos mails</a>";
echo "<br><a target=_blank href=modif_passwd.php>Modifier votre mot de passe</a>";
echo "<br><center><a href=logout.php>Déconnexion</a></center>";
exit;
}
}
?>