Fatal_Error....

Résolu
stefde10 Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   -  
stefde10 Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et tous,

Alors voilà je souhaite faire un système d'espace membres qui créé en même temps une fiche sur le membre visible une fois connecté et enregistré.

Seulement voilà je tombe sur cette erreur :

Warning: Cannot modify header information - headers already sent by (output started at /homez.110/weblobsd/www/emploi/login.php:7) in /homez.110/weblobsd/www/emploi/login.php on line 70

Warning: Cannot modify header information - headers already sent by (output started at /homez.110/weblobsd/www/emploi/login.php:7) in /homez.110/weblobsd/www/emploi/login.php on line 71

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /homez.110/weblobsd/www/emploi/login.php:7) in /homez.110/weblobsd/www/emploi/login.php on line 72

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homez.110/weblobsd/www/emploi/login.php:7) in /homez.110/weblobsd/www/emploi/login.php on line 72

Warning: Cannot modify header information - headers already sent by (output started at /homez.110/weblobsd/www/emploi/login.php:7) in /homez.110/weblobsd/www/emploi/login.php on line 77


pourtant je n'ai pas l'impression que le header soit modifier pendant cette action d'inscription ou de Login une fois l'inscription faite.

voici donc mon script concernant cette page de login.php :

<?php
	include('config.php');

	if($username=='' || $password=='')
	{
	viewheader();
	echo"<h3>$champsrequis</h3>";
	view_login_form();
	viewfooter();
	exit;
	}
	
	db_connect();
	$sql = "select password from $dbtable where username='$username'";
	$req = mysql_query($sql) or die('Erreur SQL');
	$rez = mysql_fetch_array($req);

	if($rez['password'] != $password)
	{
	viewheader();
	echo"<h3>$wrongident</h3>";
	view_login_form();
	viewfooter();
	exit;
	}

	else
	{
	$ip = $REMOTE_ADDR;
	$time = time();
	$sql = "select * from $dbtable where username='$username'";
	$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
	$data = mysql_fetch_array($req);
	$smartid = $data['id'];
	
	mysql_query("UPDATE membres SET ip='$ip' WHERE username='$username'");
	
	//mysql_query("UPDATE membres SET ip='$ip', lastdate='$time' WHERE username='$username'");
	
	$expire = 365*24*3600; 
	setcookie("username","$username",time()+$expire,"/","");
	setcookie("smartid","$smartid",time()+$expire,"/","");    
	session_start();
	session_register('username');
	session_register('smartid');
	$_SESSION['username'] = $username;
	$_SESSION['smartid'] = $smartid;
	header("Location: membres.php");
	}

?> 


le même problème existe avec ma page 'identification.php'.

Si quelqu'un a la solution à ce problème ce serait cool de votre part parce que là je retourne ça dans tous les sens et je ne vois pas ce que je peux faire de plus.

Merci d'avance.

27 réponses

le père
 
ok, je viens de voir où... Et j'avais mal lu les messages d'erreur
Du coup, c'est tout bêtement que ta requête ne retourne rien. Probablement parce que $id n'est pas correct. Où est initialisée cette variable ? Peux-tu en faire un echo pour vérifier sa valeur ?
0
stefde10 Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   11
 
tu veux dire :

echo "$id"; ?

parce que si c'est ça ça fait rien du tout...

voilà le fiche_membre.php complet :

<?
include("header.php");
include("config.php");

db_connect();

$req = mysql_query("SELECT clicks FROM $dbtable WHERE id='$id'");
$res = mysql_num_rows($req);

$i=0;
$row = mysql_fetch_array($req);
$row[clicks]++;
mysql_query("UPDATE $dbtable SET clicks='$row[clicks]' WHERE id='$id' ") or die ("ERREUR");

$req = "SELECT * FROM $dbtable WHERE id='$id'";
$res = mysql_query($req);

$username = mysql_result($res,$i,"username");
$email = mysql_result($res,$i,"email"); 
$url = mysql_result($res,$i,"url"); 
$photo = mysql_result($res,$i,"photo"); 
$bouton = mysql_result($res,$i,"bouton");
$clicks = mysql_result($res,$i,"clicks");
$ip = mysql_result($res,$i,"ip");
$date = mysql_result($res,$i,"date_reg");
$annee = date("Y", $date);
$mois = date("m", $date);
$jour = date("d", $date);
$heures = date("H", $date);
$minutes = date("i", $date);
$date = $jour."/".$mois."/".$annee." à ".$heures."h".$minutes;

$taillephoto = "$imgs_folder/$photo";
$size = getimagesize ($taillephoto);
$photosize_width = $size[0];
$photosize_height = $size[1];
$taillebouton = "$imgs_folder/$bouton";
$size = getimagesize ($taillebouton);
$boutonsize_width = $size[0];
$boutonsize_height = $size[1];


echo"<span class=\"Style1\">Fiche membre de </span><b>$username</b><br />";
echo"<span class=\"Style1\">Consultée $clicks fois</span>";
echo"<br />";
echo"<img src='$imgs_folder/$photo' width='100' height='100' border='0' alt='' /><br />";
//echo"$photosize_width x $photosize_height<br />";
echo"<img src='$imgs_folder/$bouton' width='88' height='31' border='0' alt='' /><br />";
//echo"$boutonsize_width x $boutonsize_height<br />";
echo"<br /><hr /><br />";
echo"<span class=\"Style1\">Pseudo : $username</span><br />";
echo"<span class=\"Style1\">membre depuis le</span>";
echo"<br />";
echo"<span class=\"Style1\">$date</span>";
echo"<br />";
echo"<span class=\"Style1\"><a href='mailto:$email'>&nbsp;$email</a></span><br />";

if(!empty($url)) {
	echo"<span class=\"Style1\"><a href='$url'target='_blank'>$url</a></span><br />";
		} 

echo"<span class=\"Style1\"><a href='javascript:self.close();'>Fermer la fiche</a></span>";
?>
<?
include("footer.php");
?>
0
le père
 
S'il n'y a rien dans $id, tes requêtes ne risquent pas de marcher. À moins que tu aies de id vides dans ta table, mais ce ne serait pas normal non plus...
Pour que ça marche, il faut bien que tu aies un identifiant sur lequel travailler. À toi de savoir d'où il doit venir, je ne peux pas le deviner pour toi
0
stefde10 Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   11
 
Bon en y réfléchissant bien ce n'est pas $id mais $myid

$myid correspondant à [id] qu'on va chercher dans la BDD

$i = 0;
	while ($i < $total)
	{
	$username = mysql_result($requete,$i,"username");
	$myid = mysql_result($requete,$i,"id");


on connait donc la valeur de $i et de $myid
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stefde10 Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   11
 
alors voici le lien du script que j'ai téléchargé mais beaucoup modifié :

https://scripts.toucharger.com/fiches/scripts/espace-membres/3318.htm

si quelqu'un a des solutions pour le rendre opérationnel car en plus de ces quelques bugs d'importances, il en existe d'autres, comme la fonction mot de pass oublié et j'en passe et des meilleurs.

Merci d'avance pour vos efforts de réponse et peut-être aussi pour solutionner ce script..
0
le père
 
Le but du forum est d'aider les gens sur des points particuliers, pas de prendre à charge la création d'un site :)
Si tu rencontres de nouvelles difficultés après ces dernières corrections, indique quels est le message d'erreur ou le comportement anormal, mais sur un seul point à la fois. Pas question -pour moi en tout cas- de me plonger dans un ensemble de onze scripts PHP pour essayer d'en comprendre les tenants et les aboutissants.
0
stefde10 Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   11
 
Erreur trouvée au réveil... après 6 heures passé dessus hier soir... :(

Dans le fichier config, il y avait la requête $smartid et dans celui de la fiche_membre : $id.

Juste en testant de modifier ça j'ai donc transformé mon $id en $smartid... et surprise ça fonctionne. Je n'ai pas très bien saisi pourquoi y avait deux variables différentes pour appeler la même chose. Je ne comprenais pas vraiment mais maintenant tout est ok.

Y avait aussi un bug au niveau du mot de passe oublié. Problème résolu aussi. dans le fichier config toujours :rolleyes:

il y avait la fonction db_connect seulement elle réapparaissait une deuxième fois sur le script lostpw.php

donc j'ai supprimé le 'include('config.php'); et j'ai copié/coller les $ pour la connexion à la BDD. et ça fonctionne nickel.

ensuite il envoyait pas le mot de passe sur la boite mail... le texte oui mais pas le mot de passe.

erreur de script encore : $pass au lieu de $password.

Bref tout ça pour dire qu'il y a des gens qui s'amuse à mettre des script avec bug volontairement juste pour nous apprendre à comprendre le PHP et je tiens à les remercier car j'ai beaucoup appris avec ce script.

Je te remercie aussi pour ton aide le père ;) très précieuse et m'a bien orienté.

pourtant beaucoup de personnes ne savent pas et ne sauront jamais programmer ni ne prendront le temps de l'apprendre. Alors si parfois on pouvait tomber sur des scripts complets et opérationnels pour des besoins pratiques et utiles pour des personnes qui ne sauront jamais programmer, se serait sympa de temps en temps.... j'en suis à mon 19ème script d'espace membre et pas un n'a fonctionné convenablement.

Voilà problème résolu.

encore merci ;)
0