Problème header php

Résolu/Fermé
Utilisateur anonyme - 7 nov. 2012 à 22:54
 Utilisateur anonyme - 8 nov. 2012 à 07:29
Bonjour,

Je rencontre un petit problème en PHP, j'aimerais rediriger l'utilisateur vers une page précise.

Voici le code source :

<?php
require('comunia/data.php');
mysql_connect('localhost','root','');
mysql_select_db('identity');
?>
  <?php
if(!empty($_POST) && !empty($_POST['id']) && !empty($_POST['comment']))
{

  $id = stripcslashes($_POST['id']);
  $comment = stripcslashes($_POST['comment']);

  $req = $bdd->prepare('INSERT INTO place (id,comment) VALUES (:id,:comment)');
$req->execute(array(':id'=>$id, ':comment'=>$comment));
  $req->closeCursor();
    $id = strip_tags($_GET['id']);
  $req = $bdd->prepare('SELECT * FROM page WHERE id=:id');
  $req->execute(array(':id'=>$id));
  while($data = $req->fetch(PDO::FETCH_OBJ)):

header("location:page.php?id=echo $id;");
endwhile;
}
else{
	header('Location :index.php');
}
?>


Je sais bien qu'il y a des erreurs un peu partout mais je ne suis que bidouilleur, pas développeur malheureusement. Si vous pouvez m'aidez ça serait ultra sympa.


5 réponses

astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 1 637
7 nov. 2012 à 23:07
hello

essaye plutot ça à la place de: header("location:.....");

echo '<meta http-equiv="refresh" content="0;URL=page.php">';

0 correspond au nombre de seconde avant l'envoi de la page.
0
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
7 nov. 2012 à 23:11
bonsoir pour le header met plutot

header('Location: /');

sinon c'est ta connexion a la db qui n'est pas cohérente tu te connectes avec les fonctions mysql et tu fais tes requêtes avec pdo

il vaut mieux faire ses requêtes en pdo mais il faut te connecter avec

$bdd = new PDO('mysql:dbname=testdb;host=localhost','root','');
0
Utilisateur anonyme
7 nov. 2012 à 23:16
Oui c'est déjà fait mais merci comme même :)
data.php (database)
<?php
try{
$bdd = new PDO('mysql:host=localhost;dbname=identity', 'root', '') or die(print_r($bdd->errorInfo()));
$bdd->exec('SET NAMES utf8');
}

catch(Exeption $e){
die('Erreur:'.$e->getMessage());
}
?>
0
Utilisateur anonyme
7 nov. 2012 à 23:13
Ah oui j'ai oublié de préciser l'erreur que cela me fait,

Undefined index: id in C:\wamp\www\comment.php on line 16
et puis cela me redirige pas vers ma page (page.php?id=identifiant) ça marque exactement ce que j'ai mis à la place, CAD que ça me met ça,
location:page.php?id=echo $id;
0
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
7 nov. 2012 à 23:27
header('Location: /page.php?id= '.$id);

remplace par ça mais le message d'erreur dit que la variable $id n'est pas définit
0
Utilisateur anonyme
7 nov. 2012 à 23:30
Oui voilà pourtant il est bien définit, vue que j'ai deux variables ID je me suis dit que ça pouvait poser un problème. Ça peut venir de là ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
8 nov. 2012 à 00:27
Est-ce que cela ne vient t'il pas plutôt de ma reqête, parce que ce script la est plutôt correct quand pensez vous ?
header("location:page.php?id="echo $data->id;");
0
Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
8 nov. 2012 à 02:20
il faut écrire :
header('Location: /page.php?id= '.$data->id);

dans ce cas

au lieu du echo (inutile d'afficher le texte et il n'a rien a faire là) il faut le concaténer

par contre un header location doit être suivit d'un exit() pour que l'exécution s'arrête

si il n'est pas suivit d' exit() l'exécution se poursuit jusqu'à la fin (souvent inutilement)
0
Utilisateur anonyme
8 nov. 2012 à 07:29
Yeahhhh ça fonctionne !!!! Merci :)
0