Redirection page précedente (chez free)

Résolu/Fermé
Signaler
Messages postés
8
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
11 octobre 2009
-
Messages postés
8
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
11 octobre 2009
-
Bonjour,
j'ai un site perso hébergé chez Free pour gérer mes recettes !
j'ai un tableau qui les affiche et il y a une colonne pour la suppression (bouton)
mais j'ai un problème lors de la redirection :
mon bouton "supression" est sur la page consulter qui appelle la page supress.php (qui s'occupe de la supression par MYSQL de la ligne concernée) et il y a un header sur cette même page, à la fin !
j'ai vu qu'on devait mettre le header au début mais si je le mets au début mon traitement (supression) ne s'effectue pas !
donc free me dit erreur de connexion au serveur à cause de mon header('location:index.php?page=Consulter les recettes');

comment faut-il faire ? cela marche très bien en local !!!

Merci d'avance

6 réponses

Il n'y a aucun envoi de données au client dans supress.php, donc ton header est parfaitement à sa place ici.
Par contre, tu parlais dans ton premier message de problème de connexion au serveur : il faudrait que tu donnes le message exact, mais il s'agit très probablement du serveur mysql, ce qui n'a absolument aucun rapport avec les problèmes de header.
Dans le script que tu as installé chez free, y a-t-il le bon nom d'utilisateur, le bon mot de passe et le bon nom de base (=nom d'utilisateur chez free) dans les lignes :
mysql_connect("localhost","root","") or die("erreur de connexion au serveur");
mysql_select_db("recettes") or die("erreur de connexion à la base de donnees");

le nom de serveur localhost convient, mais tu dois mettre ton login free (sans @free.fr) à la place de root et de recettes, et ton mot de passe dans les "" vides . Attention, ne mets pas ton mot de passe sur le forum
1
Bonjour

j'ai vu qu'on devait mettre le header au début
Non, non et non ! Il faut mettre le header avant l'envoi d'informations au client (avant le <!doctypte et les echo etc...) mais tu as tout à fait le droit de faire tes traitements avant le header.
0
Messages postés
8
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
11 octobre 2009

mais si on le mets avant comment on l'appelle au bon moment ?

consulter.php

affichage du tableau dynamiquement...
<form action="supress.php method="post">
<input type="submit">
</form>
...

supress.php
<?php
// connection a la BD
mysql_connect("localhost","root","") or die("erreur de connexion au serveur");
mysql_select_db("recettes") or die("erreur de connexion à la base de donnees");
// si id a ete poste :
$id = intval(mysql_real_escape_string(($_POST['id'])));
$value = $_POST['value'];
//echo "id = ".$id. " value = ".$value;
if(isset($_POST['id']) && $_POST['id']!='') {
mysql_query("DELETE FROM `recettes`.`favoris` WHERE `favoris`.`id` = '$id' ");
}
header('location:index.php?page=Consulter les recettes');
// deconnection
//mysql_close();
?>


voilà mes fichiers actuellement (en raccourci pour consulter.php)
où faut-il que je mette mon header ? et comment l'appeller ?
0
Messages postés
8
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
11 octobre 2009

oh la boulette de débutante, je suis vraiment désolé mais oui tu dois avoir raison ça doit etre ça... je vérifie et je repasse te dire...
0
Messages postés
8
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
11 octobre 2009

bon enfin de compte j'ai bien changer mes paramètres d'utilisation mais là c'est un autre problème :
DELETE command denied to user 'odenco'@'172.20.245.40' for table 'favoris'
bizarre...
0
Messages postés
8
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
11 octobre 2009

ça y est tout est résolu, après avoir cherché j'ai trouvé que mes paramètres de connexion free n'était pas bon :
voici une page très utile si vous avez des doutes :
https://www.free.fr/assistance/929-acces-libre-base-de-donnees-utiliser-une-base-de-donnees.html

et donc j'ai changé une des mes requêtes pour qu'elle aille chercher le nom de ma base de données :

mysql_query("DELETE FROM `".$nom_base_donnees."`.`favoris` WHERE `favoris`.`id` = '$id' ") or die(mysql_error());

voilà et merci à "le père" !!
0