Petit soucis de redirection

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Petit soucis de redirection

par zeus » 13 août 2008, 08:06

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

par Invité » 12 août 2008, 22:46

Après avoir fais quelques tests, le soucis vient de l'include... Merci beaucoup pour l'aide que vous m'avez apporté notamment de tous les renseignements concernant le header l

par Invité » 12 août 2008, 18:58

Heu, je crois qu'il y a une mauvaise interprétation, lorsque j'ai dis bon courage, ce n'étais pas pour m'aider, mais je pensais à toutes les personnes qui partaient travaillés.....Désolé.
Bon, maintenant que je suis rentré je vais faire comme tu me l'as dis, je vais tester le code ligne après ligne jusqu' à temps de trouver. Dès que c'est fait, je tiens au courant.

par Hywan » 12 août 2008, 10:05

Hmm, surtout bon courage à toi ! C'est à toi de chercher avant de nous ;-).

À mon avis, tu dois avoir une erreur qui se déclenche avant ton header, et elle ne doit pas être affichée (ou bizarrement). Je te conseille de vérifier ligne par ligne si tu n'as pas d'erreur avant de lancer ton header (tu peux commencer par l'enlever ce header, on y verra plus clair).

par Invité » 12 août 2008, 06:01

Bonjour, Alors en ce qui concerne les erreurs, ben il y en a pas, la page reste blanche. En ce qui concerne les test, effectivement ça fonctionne lorsque je déplace le header. Cependant je dois attendre que tout le code que vous avez pu voir puisse s'exécuter avant de faire la redirection. j'ai bien quelque idées pour y remédie (par exemple si j'utilise une structure de contrôle tout au début du code, et que je passe la condition à true dès que je veux réaliser la redirection.) Cependant, Ça ressemble un peu à une magouille, et je me demandais s'il y avait une autre manière pour arriver à mes fins.
Je ne pourrais vous répondre maintenant que tard ce soir. Je vous souhaite une bonne journée et bon courage à tous.

par Hywan » 12 août 2008, 00:04

Hey :),

Dans ton premier code, tu as écrit :
echo "<meta http-equiv='refresh' content='0; URL=images.php?select=$lien>'";
Tu as des problèmes de guillemet mal placé :
echo '<meta http-equiv="refresh" content="0; url=images.php?select=' . $lien . '">';
Comme Victor te l'a dit, évite les meta, mais plutôt la fonction header avec l'en-tête location. Tu nous dit que ça ne fonctionne pas, pourquoi ? Tu as quelle erreur ? Tes rapports d'erreur sont bien activés ? Si tu déplaces ta fonction header, il se passe quoi ? Tu as fait quels tests ?

par Invité » 11 août 2008, 23:31

Ici, le problème n'est pas la concaténation, mais l'emplacement du header. Voici le code dans son intégralité et comme vous pouvez le constater, il n'y a pas d'echo, ni même de code html avant le header.
<?php
session_start();
if (isset($_SESSION['site']))
{
$site = $_SESSION['site'];

$bdd =trim($_GET['select']);// récuperation de l'image qu'on veut supprimer.
include 'connexion.php';
$query = "SELECT * FROM images WHERE id = '$bdd' && site = '$site'"; 
mysql_query ($query) or die ('error');
$lecture = mysql_query ($query);
$result = mysql_fetch_array($lecture);
$suppression = $result['2'];
$lien = $result['7'];
unlink('images/'.$suppression);// suppression de l'image en question dans le repertoire imagessites 
$query = "DELETE FROM images where id = '$bdd' && site = '$site'";
mysql_query($query) or die ('query failed');
header('location: https://ssl.1and1.fr/administration.site.fr/images.php?select='.$lien );
//echo "<meta http-equiv='refresh' content='0; URL=images.php?select=$lien>'";
}
else
{
echo "<meta http-equiv='refresh' content='0; URL=index.html'>";
}
?>

Si quelqu'un a une autre alternative, ou m'explique pourquoi le header ne fonctionne pas. Dans l'attente de vos réponse, je vous souhaite une bonne soirée.

par Invité » 11 août 2008, 22:36

Déjà, déjà merci pour la réponse, j avais oublié de préciser que j'avais utilisé la concaténation, mais sans résultat, la redirection ne se fait pas...

Re: Petit soucis de redirection

par Victor BRITO » 11 août 2008, 22:24

D'abord, évite autant que possible les redirections par meta "refresh" (technique qui, soit dit en passant, détourne cette balise de son usage originel).

Ensuite, pour la dernière ligne de ton code exposé, essaie de procéder comme suit :
header('location: https://ssl.1and1.fr/administration.site.org/images.php?select='.$lien);
Les guillemets simples, en effet, ne permettent pas d'interpréter les variables. Autrement dit, soit tu utilises la concaténation soit tu remplaces les guillemets simples par des guillemets doubles (qui, eux, permettent l'interprétation des variables) :
$ma_variable = 'toto';
echo 'Ma variable a pour valeur $ma_variable'; // Affiche Ma variable a pour valeur $ma_variable
echo 'Ma variable a pour valeur '.$ma_variable; // Affiche Ma variable a pour valeur toto
echo "Ma variable a pour valeur $ma_variable"; // Affiche Ma variable a pour valeur toto

Petit soucis de redirection

par Invité » 11 août 2008, 22:02

Bonjour, j 'ai un petit soucis avec le code suivant:
echo "<meta http-equiv='refresh' content='0; URL=images.php?select=$lien>'";
Le soucis, c'est que la variable $lien n'est pas accepté.
Tandis que header ne fonctionne pas :
$bdd =trim($_GET['select']);// récuperation de l'image qu'on veut supprimer.
include 'connexion.php';
$query = "SELECT * FROM images WHERE id = '$bdd' && site = '$site'"; 
mysql_query ($query) or die ('error');
$lecture = mysql_query ($query);
$result = mysql_fetch_array($lecture);
$suppression = $result['2'];
$lien = $result['7'];
unlink('images/'.$suppression); 
$query = "DELETE FROM images where id = '$bdd' && site = '$site'";
mysql_query($query) or die ('query failed');
header('location: https://ssl.1and1.fr/administration.site.org/images.php?select=$lien' );