Page 1 sur 1

Echo un texte dans colonne sql

Posté : 14 déc. 2015, 16:59
par Speed09
Bonjour à tous!
Je suis débutant dans le monde de php et voudrais, pour m'entrainer, créer un site en local.
Ce site sera très simple et n'aura aucune réelle utilité.
Cependant j'ai rencontré une erreur surprenante...
Sur la page "membre" figurera les informations relatives à l'utilisateur connecté.
J'arrive sans soucis à echo $username, qui est une colonne de ma table sql.
Mais je n'arrive pas à $echo la ville de l'utilisateur...
Cette colonne username est du type VARCHAR. J'ai essayé de la passer en text, avec toujours le même résultat...
J'arrive à echo l'id de l'utilsateur, son username mais ni sa ville, ni son password...
Quelques idées?
Merci d'avance! :D

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:10
par or 1
avec le code, ce serait plus simple.
les données sont bien remplies dans la table ?

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:15
par Speed09
avec le code, ce serait plus simple.
les données sont bien remplies dans la table ?
Bonjour,
Voici le code de la page membre:
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();

if(isset($_SESSION['id'])){
$userID = $_SESSION['id'];
$username = $_SESSION['username'];
$ville = $_SESSION['ville'];
}else{
header('Location: index.php');
die();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Page</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
include("header.php");
?>
<div class="content">
<p>Votre ville: </p>
<?php
echo $ville;
?>
</div>

<aside class="side">
<?php
if(isset($_SESSION['id'])){
include("sidebar_members.php");
}else{
include("sidebar.php");
}
?>
<form action="logout.php" style="margin:2%;">
<input type = "submit" value="Se d&eacute;connecter" class="bouton2"/>
</form>
</aside>
</body>
</html>

Et oui, la colonne est bien remplie.

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:18
par or 1
il faut aussi le code qui remplit $_SESSION['ville']

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:21
par Speed09
il faut aussi le code qui remplit $_SESSION['ville']
C'est à dire?
Le code de register?

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:22
par or 1
le code où il y a :
$_SESSION['ville'] = ...;

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:25
par Speed09
le code où il y a :
$_SESSION['ville'] = ...;
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();
if($_POST['submit']){
include_once("connexion.php");
$username = strip_tags($_POST['username']);
$password = strip_tags($_POST['password']);
$sql = "SELECT id, username, password FROM members WHERE username ='$username' AND activated = '1' LIMIT 1";
$query = mysqli_query($dbCon, $sql);

if($query){
$row = mysqli_fetch_row($query);
$userId = $row[0];
$dbUsername = $row[1];
$dbPassword = $row[2];

}

if($username == $dbUsername && $password == $dbPassword){
$_SESSION['username'] = $username;
$_SESSION['id'] = $userId;
$_SESSION['ville'] = $ville;
header('Location: user_page.php');

}else{
echo "<center style='color:white;font-size:30px;'>Incorrect username or password</center>";
}
}
?>

C'est le code pour se login...

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:31
par or 1
$ville n'est pas définie donc $_SESSION['ville'] n'aura pas la valeur escomptée.

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:39
par Speed09
Donc faudrait que je rajoute dans la query
$ville = $row[3];
?

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:51
par Spols
ET aussi modifier ceci
$sql = "SELECT id, username, password FROM members WHERE username ='$username' AND activated = '1' LIMIT 1";
en ceci
$sql = "SELECT id, username, password, ville FROM members WHERE username ='$username' AND activated = '1' LIMIT 1";

Pour autant que ton champs ville s'appel comme cela et qu'il soit sur ta table members

Re: Echo un texte dans colonne sql

Posté : 14 déc. 2015, 17:57
par Speed09
ET aussi modifier ceci
$sql = "SELECT id, username, password FROM members WHERE username ='$username' AND activated = '1' LIMIT 1";
en ceci
$sql = "SELECT id, username, password, ville FROM members WHERE username ='$username' AND activated = '1' LIMIT 1";

Pour autant que ton champs ville s'appel comme cela et qu'il soit sur ta table members
Merci beaucoup! ça marche!
Merci beaucoup pour votre réponse rapide et votre efficacité! :D