Probleme simple syntaxe php

Résolu/Fermé
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 - Modifié par zeelox le 6/06/2016 à 21:36
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 - 9 juin 2016 à 09:03
juste une petite erreur mais je ne comprend pas pourquoi cela fait ca,
je veux que tout le contenu sois affiché en fonction du if, je fais donc ca :

<?php
include('includes/header.php');
include('php/php_bdd.php');
include('php/php_login.php');
include('includes/infos.php');
include('includes/sidebar.php');
?>
<?php
if(isset($_GET['pseudo']) && isset($_GET['type']) && $_GET['type'] == "view")
{
$requser = $bdd->prepare("SELECT * FROM users WHERE pseudo = ?");
$requser->execute(array($_GET['pseudo']));
$account_info = $requser->fetch();

?>

PARTIE HTML...

<?
}
else
{
header("Location: index.php?info=vous ne pouvez pas acceder à cette page");
}

include('includes/footer.php');
?>

mais ca me met unexpected end of file.. pourtant si je met l'accolade en haut comme si-dessous, tout fonctionne bien :'/


<?php
include('includes/header.php');
include('php/php_bdd.php');
include('php/php_login.php');
include('includes/infos.php');
include('includes/sidebar.php');
?>
<?php
if(isset($_GET['pseudo']) && isset($_GET['type']) && $_GET['type'] == "view")
{
$requser = $bdd->prepare("SELECT * FROM users WHERE pseudo = ?");
$requser->execute(array($_GET['pseudo']));
$account_info = $requser->fetch();
}

?>

PARTIE HTML...

<?
else
{
header("Location: index.php?info=vous ne pouvez pas acceder à cette page");
}

include('includes/footer.php');
?>


ca ne vient pas des includes j'ai déjà vérifié en les mettants 1 par 1 un commentaire, et jai compter à plusieurs reprises les accolades et parenthèses mais je ne vois pas l'erreur de mon code... :/

merci beaucoup ! :)
A voir également:

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
6 juin 2016 à 22:36
Bonjour,

1 - TOUJOURS Récupérer proprement les variables AVANT de les utiliser
2 - Utiliser
 <?php 
et pas juste
 <? 
pour ouvrir les balises php
3 - Mettre les requêtes dans des blocs try/catch pour intercepter les erreurs éventuelles de requêtes
4 - Toujours faire un
 exit();
après un header location.

<?php 
require_once 'includes/header.php';
require_once 'php/php_bdd.php';
include('php/php_login.php');
include('includes/infos.php');
include('includes/sidebar.php');

//récupération PROPRE des variables AVANT de les utiliser
$pseudo = !empty($_GET['pseudo']) ? $_GET['pseudo'] : NULL;
$type = !empty($_GET['type']) ? $_GET['type'] : NULL;

if($pseudo && $type == "view") {
  $sql = "SELECT * FROM users WHERE pseudo = :pseudo";
  $datas = array(":pseudo"=>$pseudo);
  try{
    $requser = $bdd->prepare($sql);
    $requser->execute($datas);
  }catch(Exception $e){
   //en cas d'erreur dans la requête
   echo "Erreur : ".$e->getMessage();
  }
  $account_info = $requser->fetch();
?>

  PARTIE HTML...

<?php // utiliser <?php ... et pas juste <?
} else {
 header("Location: index.php?info=vous ne pouvez pas acceder à cette page");
 exit(); //toujours mettre un exit après une redirection
}

include('includes/footer.php');
?>


NB: Plutôt que d'utiliser des variables GET pour faire transiter des "info" (contenant des phrases....) il est préférable d'utiliser les variables de session.

0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019
7 juin 2016 à 12:59
up ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
7 juin 2016 à 13:00
UP de quoi ???
Tu as lu ma réponse ???
Tu en a tenu compte pour corriger ton code ???
0
zeelox Messages postés 119 Date d'inscription samedi 30 mai 2015 Statut Membre Dernière intervention 8 mars 2019 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
9 juin 2016 à 09:03
nan désolé j'avais pas vu ta réponse :x par contre mon erreur c'est une faute de frappe j'avais juste oublié le ?>php au debut de mon else, et pour le exit(); je savais pas merci beaucoup encore une fois ^^"
0