Erreur mini reseau social
irin1
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
Salut les amis
je veux votre aide; j'ai essayé de faire un mini reseau social mais voici l'erreur que j'ai:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\rs\index.php:1) in C:\wamp\www\rs\functions\connect.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\rs\index.php:1) in C:\wamp\www\rs\functions\connect.php on line 2
Warning: include(functions/.func.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\rs\index.php on line 8
Warning: include() [function.include]: Failed opening 'functions/.func.php' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\rs\index.php on line 8
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\rs\index.php:1) in C:\wamp\www\rs\index.php on line 21
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\rs\index.php:1) in C:\wamp\www\rs\index.php on line 26
Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\rs\index.php on line 37
voici le code pour ma page connection.php :
<?php
session_start();
//connexion é la base des données
mysql_connect('localhost','root','') or die(error);
mysql_select_db('rs') or die('Bdd introuvable');
mysql_query('SET NAMES utf8');
?>
Pour l'index.php :
<?php
include('functions/connect.php');
$page=htmlentities($_GET['page']);
include('functions/'.$page.'.func.php');
$pages=scandir('pages');
if(!empty($page)&& in_array($_GET['page'].".php",$pages))
{
$content='pages/'.$_GET['page'].".php";
}else{
header("Location:index.php?page=login");
}
if(!isset($_SESSION['pseudo']) && $page !='membre' && $page!= 'update' && $page != 'update_avatar')
{
header("Location:index.php?page=membre");
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel='stylesheet' href='css/style.css'>
</head>
<body>
<div id='content'>
<?php
include($content);
?>
</div>
</body>
</html>
merci pour votre aide
je veux votre aide; j'ai essayé de faire un mini reseau social mais voici l'erreur que j'ai:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\rs\index.php:1) in C:\wamp\www\rs\functions\connect.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\rs\index.php:1) in C:\wamp\www\rs\functions\connect.php on line 2
Warning: include(functions/.func.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\rs\index.php on line 8
Warning: include() [function.include]: Failed opening 'functions/.func.php' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\rs\index.php on line 8
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\rs\index.php:1) in C:\wamp\www\rs\index.php on line 21
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\rs\index.php:1) in C:\wamp\www\rs\index.php on line 26
Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\rs\index.php on line 37
voici le code pour ma page connection.php :
<?php
session_start();
//connexion é la base des données
mysql_connect('localhost','root','') or die(error);
mysql_select_db('rs') or die('Bdd introuvable');
mysql_query('SET NAMES utf8');
?>
Pour l'index.php :
<?php
include('functions/connect.php');
$page=htmlentities($_GET['page']);
include('functions/'.$page.'.func.php');
$pages=scandir('pages');
if(!empty($page)&& in_array($_GET['page'].".php",$pages))
{
$content='pages/'.$_GET['page'].".php";
}else{
header("Location:index.php?page=login");
}
if(!isset($_SESSION['pseudo']) && $page !='membre' && $page!= 'update' && $page != 'update_avatar')
{
header("Location:index.php?page=membre");
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel='stylesheet' href='css/style.css'>
</head>
<body>
<div id='content'>
<?php
include($content);
?>
</div>
</body>
</html>
merci pour votre aide
A voir également:
- Erreur mini reseau social
- Opera mini pc - Télécharger - Navigateurs
- Cable reseau player freebox - Forum Freebox
- Entrer les informations d'identification reseau - Guide
- Le message n'a pas été envoyé car le service n'est pas activé sur le réseau - Forum Xiaomi
- Julia s'est fait pirater son compte sur un réseau social. ✓ - Forum Loisirs / Divertissements
2 réponses
plusieurs erreurs:
1) Impossible d'ouvrir une session si elle existe déjà dans ce cas :
2) Impossible de modifier le header si il est déjà en modification par une autre page. Dans ce cas, ne pas modifier le header dans plusieurs pages tout simplement.
3) tes includes sont vides, donc impossible de les inclure ;) $_GET['page'] n'est pas renseigné dans l'URL. Donc impossible de trouver 'pages/'.$_GET['page'].".php" ou 'functions/'.$page.'.func.php'.
Bon courage ;)
1) Impossible d'ouvrir une session si elle existe déjà dans ce cas :
if(!is_set($_SESSION)) session_start();
2) Impossible de modifier le header si il est déjà en modification par une autre page. Dans ce cas, ne pas modifier le header dans plusieurs pages tout simplement.
3) tes includes sont vides, donc impossible de les inclure ;) $_GET['page'] n'est pas renseigné dans l'URL. Donc impossible de trouver 'pages/'.$_GET['page'].".php" ou 'functions/'.$page.'.func.php'.
Bon courage ;)
Bonjour,
Dans votre source:
c'est un risque d'injection de code...
Voici comment sécuriser parfaitement:
A+
Dans votre source:
$page=htmlentities($_GET['page']);
c'est un risque d'injection de code...
Voici comment sécuriser parfaitement:
if (isset($_GET['page']])) { $page = $_GET['page']; $template = 'templates/'.$page.'.phtml'; if (file_exists($template)) { include $template; } else { include 'templates/accueil.phtml'; } }
A+
Par :
Cette condition permet simplement de vérifier que la session n'existe pas avant de la créer.
Cela signifie que dans l'url de ta page tu lui passe un paramètre "page" comme ci-dessous :
Dans l'URL exemple au dessus, le paramètre "page" est égal à "test" et dans ce cas dans ton code il cherchera à inclure la page "test.php" qui se trouve dans le dossier pages de ton site :
Il va également inclure la page "test.func.php" qui est dans le dossier "functions" de ton site web :
INDEX.PHP
<?php
include('functions/connect.php');
$page=htmlentities($_GET['page']);
include('functions/login.func.php');
include('functions/membre.func.php');
include('functions/register.func.php');
$pages=scandir('pages');
if(!empty($page)&& in_array($_GET['page'].".php",$pages))
{
$content='pages/'.$_GET['page'].".php";
}else{
header("Location:index.php?page=login");
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel='stylesheet' href='css/style.css'>
</head>
<body>
<div id='content'>
<?php
include($content);
?>
</div>
</body>
</html>
STYLE.CSS
*
{
padding:0;
margin:0;
}
body
{
background-color:#000;
font-family:Times New Roman;
}
#content
{width:960px;
background-color:#FFF;
margin:50px auto;
text-align:center;
border-radius:10px;
-webkit-border-radius:10px;
-moz-border-radius:10px;
position:relative;
}
#content h1
{
text-decoration:underline;
padding-bottem:20px;
}
#content form label
{
display:block;
float:left;
width:200px;
position:absolute;
left:100px
}
#content form input,texarea
{
border:1px solid #000;
border-radius:10px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
width:200px;
margin:5px;
}
#content form input[type=submit]
{
width:100px;
background-color:#000;
color:#FFF;
cursor:pointer;
}
#content .error
{
color:red;
border-radius:10px;
-webkit-border-radius;5px;
-moz-border-radius;5px;
margin:2px auto;
width:300px;
background-color:#CCC;
}
CONNECT.PHP
<?php
session_start();
//connexion à la base des données
mysql_connect('localhost','root','') or die(error);
mysql_select_db('rs') or die('Bdd introuvable');
mysql_query('SET NAMES ANSI');
?>
REGISTER.FUNC.PHP
<?php
//function qui va charger d'inscrire l'utilisateur
function inscrire_utilisateur($pseudo,$password,$email,$sexe,$situation,$apropos)
{
$password = sha1($password);
mysql_query("INSERT INTO utilisateurs(id,pseudo,password,email,sexe,situation,apropos)
VALUES('','$pseudo','$password','$email','$sexe','$situation','$apropos')
")or die(mysql_error());
}
//la fonction qui va verifier si l'emeil existe
function pseudo_existe($pseudo)
{
$query=mysql_query("SELECT COUNT(id)FROM utilisateurs WHERE pseudo='$pseudo'");
return mysql_result($query,0);
}
//la fonction qui va verifier si l'emeil existe
function email_existe($email)
{
$query=mysql_query("SELECT COUNT(id)FROM utilisateurs WHERE email='$email'");
return mysql_result($query,0);
}
?>
MEMBRE.FUNC.PHP
<?php
//utilisateur connecté
function infos_membre_connecte()
{
$infos=array();
$pseudo=$_SESSION['pseudo'];
$query=mysql_query("SELECT * FROM utilisateurs WHERE pseudo='$pseudo'");
while($row = mysql_fetch_assoc($query))
{
$infos[] = $row;
}
return $infos;
}
?>
LOGIN.FUNC.PHP
<?php
//combinaison password et pseudo
function verifier_combinaison_pseudo_password($pseudo,$password)
{
$pseudo=mysql_real_escape_string(htmlentities($_POST['pseudo']));
$password=mysql_real_escape_string(htmlentities($_POST['password']));
$password=sha1($password);
$query=mysql_query("SELECT pseudo,password FROM utilisateurs
WHERE pseudo='$pseudo' AND password='$password'
");
$rows = mysql_num_rows($query);
return $rows;
}
?>
REGISTER.PHP
<?php
if(isset($_POST['submit']))
{
$sexe = mysql_real_escape_string(trim(htmlentities($_POST['sexe'])));
$pseudo = mysql_real_escape_string(trim(htmlentities($_POST['pseudo'])));
$password = mysql_real_escape_string(trim(htmlentities($_POST['password'])));
$repeatpassword = mysql_real_escape_string(trim(htmlentities($_POST['repeatpassword'])));
$email = mysql_real_escape_string(trim(htmlentities($_POST['email'])));
$apropos = mysql_real_escape_string(trim(htmlentities($_POST['apropos'])));
$situation = mysql_real_escape_string(trim(htmlentities($_POST['situation'])));
if(empty($pseudo))
{
$errors[]="veuillez saisir un pseudo";
}
if(empty($password))
{
$errors[]="Veuillez saisir un password";
}
if($password !=$repeatpassword)
{
$errors[] ="Vos deux password doivent étre identiques";
}
if(!filter_var($email,FILTER_VALIDATE_EMAIL))
{
$errors[] ="Votre adresse email n'est pas correcte";
}
if(empty($apropos))
{
$errors[] ="Veuillez vous décrire en quelques lignes";
}
if(pseudo_existe($pseudo)==1)
{
$errors[]="Ce pseudo n'est pas disponible";
}
if(email_existe($email)==1)
{
$errors[]="Cette adresse email existe deja <br> avez vous oublié votre <a href='#'>mot de passe</a>?";
}
if(!empty($errors))
{
foreach($errors as $error)
{
echo "<div class='error'>".$error."</div>";
}
}else{
inscrire_utilisateur($pseudo,$password,$email,$sexe,$situation,$apropos);
header("Location:index.php?page=login");
}
}
?>
<form method='POST' action=''>
<label for='sexe'>Sexe</label>
<select name="sexe">
<?php echo isset($sexe)?'<option value='.$sexe.'>'.$sexe.'</option>':'';?>
<?php echo $sexe !='Homme'?'<option value="Homme">Homme</option>':'';?>
<?php echo $sexe != 'Femme'?'<option value="Femme">Femme</option>':'';?>
</select><br/><br/>
<label for='situation'>Situation</label>
<select name="situation">
<?php echo isset($situation)?'<option value='.$situation.'>'.$situation.'</option>':'';?>
<?php echo $situation != 'Célibataire'?'<option value="Célibataire">Célibataire</option>':'';?>
<?php echo $situation != 'En couple'?'<option value="En couple">En couple</option>':'';?>
<?php echo $situation != 'Divorcé(e)'?'<option value="Divorcé(e)">Divorcé(e)</option>':'';?>
<?php echo $situation != 'veuf(ve)'?'<option value="Veuf(ve)">Veuf(ve)</option>':'';?>
</select><br/><br/>
<label for="pseudo">Votre pseudo : </label>
<input type="text" name="pseudo"value='<?php echo isset($pseudo)? $pseudo:'';?>'><br/>
<label for="password">Votre password : </label>
<input type="password" name="password"><br/>
<label for="repeatpassword">Repetez Votre password : </label>
<input type="password" name="repeatpassword"><br/>
<label for="email">Veuillez saisir votre email : </label>
<input type="text" name="email"value='<?php echo isset($email)? $email:'';?>'><br/>
<label for="apropos">A propos de vous </label>
<textarea rows="6" cols="30" name="apropos"><?php echo isset($apropos)? $apropos:'';?></textarea><br/><br/>
<input type="submit" value="S'inscrire" name="submit">
</form>
<a href='index.php?page=login'>Page de connexion</a>
MEMBRE.PHP
<div class='header'>
<?php
$infos=infos_membre_connecte();
foreach($infos as $info)
{
echo"Bienvenue ".$info['pseudo'];
}
?>
<p><a href='index.php?page=logout'>Se déconnecter</a></p>
</div>
LOGIN.PHP
<?php
if(isset($_POST['submit']))
{
if(empty($_POST['pseudo']))
{
$errors[]="Veuillez saisir votre pseudo";
}
if(empty($_POST['password']))
{
$errors[]="Veuillez saisir votre password";
}
if(!empty($errors))
{
foreach($errors as $error)
{
echo"<div class='error'>".$error."</div>";
}
}else{
if(verifier_combinaison_pseudo_password($pseudo,$password)==0)
{
echo"<div class='error'>Pseudo ou password incorrect</div>";
}else{
$_SESSION['pseudo']=$_POST['pseudo'];
header("Location:index.php?page=membre");
}
}
}
?>
<form method="POST" action="">
<label for="pseudo">Votre pseudo :</label>
<input type="text" name="pseudo"><br/>
<label for="password">Votre password :</label>
<input type="password" name="password"><br/><br/>
<input type="submit"value="Se connecter"name="submit">
</form>
<a href='index.php?page=register'>Pas encore membre</a>
NB: Toute les funtions et connect.php dans un meme dossier "FUNCTIONS"; index à la racine, style.css dans le dossier "CSS" et les autres dans le dossier PAGE.
pardon aide moi