Bonjour, voila mon probleme, je voudrai que si la personne ta un mauvais id que sa fasse un redirection

<?php
if (!isset($_GET'video'])) {
  header('Location: index.php');
}
else {
?>
  <?php
  // on se connecte à notre base de données
 $base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('streaming', $base) ;
  // on prépare notre requête
  $sql = 'SELECT * FROM forum_sujets WHERE id="'.$_GET'video'].'" ';
  // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  $rows = mysql_num_rows($sql);
  // on va scanner tous les tuples un par un
  while ($data = mysql_fetch_array($req)) {

?>
<html>
<head>
<?php require 'includes/head.php'; ?>
<title><?php echo htmlentities(trim($data'titre'])); ?></title>
</head>
<body> <?php require 'includes/menu.php'; ?>
<div id="page"> <br/><br/><br/>
 <?php
  echo "<strong>".htmlentities(trim($data'titre']))."</strong>";
  echo '<br />';
  echo '<img src="'.$data"poster"].'" height="500" ><br/><br/>';
  echo $data'description']."<br/><br/>";
  echo $data'video']."<br/><br/>";
  echo "<span style='color:red;'>Lien de telechargement : </span><br/><br/>";
  echo "1 - <a href='".$data'telechargement']."' >".$data'telechargement']."</a><br/>" ;
  // Pour une meilleur position 
  echo "<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>";

}

  ?>

  <?php
}
?>

<?php

// on libère l'espace mémoire alloué pour cette reqête
  mysql_free_result ($req);
  // on ferme la connection à la base de données.
  mysql_close ();
?>
</div>
<?php require('includes/footer.php'); 
?>
</body>
</html>

2 réponses


Bonsoir,

Il te suffit simplement de faire une condition vérifiant que ta requête retourne bien un résultat ;)
Après tu devrais t'orienter vers PDO pour l'interaction avec la base de donnée car mysql_query est déprécié et sera bientôt supprimé de la bibliothèque php (du moins dans les futures versions de php).

Essayes ceci ;)

<?php
if (!isset($_GET'video'])) 
{
    header('Location: index.php');
}
else 
{
  // on se connecte à notre base de données
  $base = mysql_connect ('localhost', 'root', '');
  mysql_select_db ('streaming', $base) ;
  // on prépare notre requête
  $sql = 'SELECT * FROM forum_sujets WHERE id="'. intval($_GET'video']).'" ';

  // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  $result = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

  $rows = mysql_num_rows($result);
  if( empty($rows) )
  {
    header('Location:index.php');
  }

  // on va scanner tous les tuples un par un
  while ($data = mysql_fetch_array($result)) 
  {
  ?>
  <html>
  <head>
  <?php require 'includes/head.php'; ?>
  <title><?php echo htmlentities(trim($data'titre'])); ?></title>
  </head>
  <body> <?php require 'includes/menu.php'; ?>
  <div id="page"> <br/><br/><br/>
   <?php
    echo "<strong>".htmlentities(trim($data'titre']))."</strong>";
    echo '<br />';
    echo '<img src="'.$data"poster"].'" height="500" ><br/><br/>';
    echo $data'description']."<br/><br/>";
    echo $data'video']."<br/><br/>";
    echo "<span style='color:red;'>Lien de telechargement : </span><br/><br/>";
    echo "1 - <a href='".$data'telechargement']."' >".$data'telechargement']."</a><br/>" ;

    // Pour une meilleur position 

    echo "<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>";     
  } 
}
  // on libère l'espace mémoire alloué pour cette reqête
  mysql_free_result ($req);
  // on ferme la connection à la base de données.
  mysql_close ();
?>
</div>
<?php 
require('includes/footer.php');  
?>
</body>
</html>
Fl0w
Auteur

Merci pour ta reponce et tes information mais sa marche sa me redirige dans tout les cas