Bonjour,
depuis que je suis passé à PHP 7 certaines parties de mes codes ne fonctionnent plus, dont celle-ci :
<?php
$pdo = new PDO('mysql:host=...;dbname=...;charset=utf8', '...', '...');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$user_id = $_SESSION['auth']->id;
function getMembres($conn) {
$sql = 'SELECT * FROM Membres WHERE id = $user_id';
foreach ($conn->query($sql) as $row) {
print $row['nom'] . "\t";
print $row['prenom'] . "\t";
print $row['club'] . "\n";
}
echo print $row['non'];
}
?>
<?php
$user_id = $_SESSION['auth']->id;
mysqli_connect('...','...','...');
mysqli_select_db('...');
$reponse = mysqli_query("SELECT * FROM Membres WHERE id = $user_id"); // Requête SQL
while ($donnees = mysqli_fetch_array($reponse)) // On boucle pour afficher toutes les données et on met toutes données dans un tableau
{
?>
<p><strong>Nom :</strong> <?php echo $donnees['nom'];?></p>
<p><strong>Prénom :</strong> <?php echo $donnees['prenom'];?></p>
<p><strong>Date de naissance :</strong> <?php $date = $donnees['age']; echo date("d / m / Y", strtotime("$date"));?></p>
<p><strong>Club actuel :</strong> <?php echo $donnees['club'];?></p>
<p><strong>Catégorie :</strong> <?php echo $donnees['categorie'];?></p>
<p><strong>Adresse email :</strong> <?php echo $donnees['email'];?></p>
<?php
}
mysqli_close(); // On oubli pas de déconnecter la base de données
?>
Quelqu'un aurait une piste ?
Merci d'avance
Non je n'ai aucun message d'erreur.
Par contre si je le laisse en mysql et non mysqli y'a un message d'erreur.
Comment active t-on le mysqli ?
Merci d'avance.
oui mysql_connect..... et cie ont été supprimé dans la version 7.
Vous travaillez en local ou en ligne ?
En ligne et je suis chez 1&1.
Enfaite j'étais en PHP 5.6 et j'ai vue que PHP 7 était sortie.
J'ai donc voulu tester mais certaines parties de mon code ne fonctionne plus en PHP 7 dont celle ci-dessus.
Avec mysql j'avais un message d'erreur et avec mysqli je n'avais plus de message d'erreur mais rien ne s'affichait.
Du coup pour le moment je suis repassé en PHP 5.6 en attendant.
C'est pour récupérer ou envoyer des infos a la base de donné je crois.
Je ne vois pas de quel if tu parles.
Et PDO fonctionne différement, non ?
sa syntaxe est différente je crois.
Enfaite c'est la question que je me posais aussi ...
Comme j'avais pris le tuto de grafikart et que c'était structuré comme ça et que ça marchaiut j'ai laisser.
Oou alors c'était parceque j'ai ajouter 1 autre tuto dans celui de grafikart.
Je ne sais plus,
Si jamais ça t'intéresse voici le code complet :
<?php
if(session_status() == PHP_SESSION_NONE){
session_start();
}
require 'includes/function_register.php';
if(!isset($_SESSION['auth'])) {
$_SESSION['flash']['danger'] = "Vous n'avez pas le droit d'accéder à cette page";
header("Location: login.php");
exit();
}
?>
<?php
if(!empty($_POST['password'])){
if(empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']){
$_SESSION['flash']['danger'] = "Les mots de passes ne correspondent pas";
}else{
$user_id = $_SESSION['auth']->id;
$password= password_hash($_POST['password'], PASSWORD_BCRYPT);
require_once 'includes/db.php';
$pdo->prepare('UPDATE Membres SET password = ? WHERE id = ?')->execute([$password,$user_id]);
$_SESSION['flash']['success'] = "Votre mot de passe a bien été mis à jour";
}
}
if(!empty($_POST['email'])){
require_once 'includes/db.php';
$req = $pdo->prepare('SELECT id FROM Membres WHERE email = ?');
$req->execute([$_POST['email']]);
$user = $req->fetch();
if($user){
$_SESSION['flash']['danger'] = "Cette adresse email est déja utilisé";
}else{
if(empty($_POST['email'])){
}else{
$user_id = $_SESSION['auth']->id;
$email= ($_POST['email']);
require_once 'includes/db.php';
$pdo->prepare('UPDATE Membres SET email = ? WHERE id = ?')->execute([$email,$user_id]);
$_SESSION['flash']['success'] = "Votre adresse email a bien été mis à jour";
}
}
}
if(!empty($_POST['club'])){
if(empty($_POST['club'])){
}else{
$user_id = $_SESSION['auth']->id;
$club= ($_POST['club']);
require_once 'includes/db.php';
$pdo->prepare('UPDATE Membres SET club = ? WHERE id = ?')->execute([$club,$user_id]);
$_SESSION['flash']['success'] = "Votre club a bien été mis à jour";
}
}
if(!empty($_POST['categorie'])){
if(empty($_POST['categorie'])){
}else{
$user_id = $_SESSION['auth']->id;
$categorie= ($_POST['categorie']);
require_once 'includes/db.php';
$pdo->prepare('UPDATE Membres SET categorie = ? WHERE id = ?')->execute([$categorie,$user_id]);
$_SESSION['flash']['success'] = "Votre categorie a bien été mis à jour";
}
}
?>
<?php require 'header.php'; ?>
<?php require 'Menu.php'; ?>
<div class="col-lg-12-blue col-xs-12-blue">
<div class="row">
<h2>Bonjour <?= $_SESSION['auth']->prenom; ?> <?= $_SESSION['auth']->nom; ?></h2>
</div>
</div>
<div class="col-lg-offset-3 col-lg-6 col-xs-12">
<h2>Mes coordonnés</h2>
</div>
<div class="col-lg-offset-3 col-lg-6 col-xs-12">
<div class="row">
<div class="text-left">
<?php
$pdo = new PDO('mysql:host=...;dbname=...;charset=utf8', '...', '....');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$user_id = $_SESSION['auth']->id;
function getMembres($conn) {
$sql = 'SELECT * FROM Membres WHERE id = $user_id';
foreach ($conn->query($sql) as $row) {
print $row['nom'] . "\t";
print $row['prenom'] . "\t";
print $row['club'] . "\n";
}
echo print $row['non'];
}
?>
<?php
$user_id = $_SESSION['auth']->id;
mysql_connect('...','...','...');
mysql_select_db('...');
$reponse = mysql_query("SELECT * FROM Membres WHERE id = $user_id"); // Requête SQL
while ($donnees = mysql_fetch_array($reponse)) // On boucle pour afficher toutes les données et on met toutes données dans un tableau
{
?>
<p><strong>Nom :</strong> <?php echo $donnees['nom'];?></p>
<p><strong>Prénom :</strong> <?php echo $donnees['prenom'];?></p>
<p><strong>Date de naissance :</strong> <?php $date = $donnees['age']; echo date("d / m / Y", strtotime("$date"));?></p>
<p><strong>Club actuel :</strong> <?php echo $donnees['club'];?></p>
<p><strong>Catégorie :</strong> <?php echo $donnees['categorie'];?></p>
<p><strong>Adresse email :</strong> <?php echo $donnees['email'];?></p>
<?php
}
mysql_close(); // On oubli pas de déconnecter la base de données
?>
</div>
</div>
</div>
<div class="col-lg-offset-3 col-lg-6 col-xs-12">
<div class="row">
<div class="text-left">
<form action="" method="POST" enctype="multipart/form-data" style="border: 1px solid black; padding-top: 15px; padding-bottom: 15px; padding-left: 15px; padding-right: 15px;">
<h2>Changer mon mot de passe</h2>
<div class="form-group">
Mon nouveau mot de passe<br/>
<input type="password" name="password" placeholder="tapez ici votre nouveau mot de passe"/>
</div>
<div class="form-group">
Confirmation de mon nouveau mot de passe<br/>
<input type="password" name="password_confirm" placeholder="confirmation du nouveau mot de passe"/>
</div>
<h2>Changer mon adresse mail</h2>
<div class="form-group">
Ma nouvelle adresse mail<br/>
<input type="email" name="email" placeholder="tapez ici votre nouvelle adresse mail"/>
</div>
<h2>Changer mon club</h2>
<div class="form-group">
Mon nouveau club<br/>
<input type="text" name="club" placeholder="tapez ici votre nouveau club"/>
</div>
<h2>Changer ma catégorie</h2>
<div class="form-group">
Ma nouvelle catégorie<br/>
<input type="text" name="categorie" placeholder="tapez ici votre nouveau club"/>
</div>
<h2>Changer mon poste</h2>
<p>
<select name="departement">
<option value=""> ----- Choisir ----- </option>
<option value="1"> Gardien de but </option>
<option value="2"> Défenseur </option>
<option value="3"> Milieu de terrain </option>
<option value="4"> Attaquant </option>
</select>
</p><br/>
<button class="btn btn-primary">Actualiser mon espace perso</button>
</div>
</form>
</div>
</div>
</div>
<?php require 'Footer.php'; ?>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>