PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Variable PHP + Requête MYSQL + Redir en fonction du résultat » 06-10-2012 14:11:36

Je reprends ma première pharse : je suis une bille en PHP, et je post sur ce forum pour savoir comment quelqu'un écrirait le code ... Merci quand même

#2 Re : Forum Général PHP » Variable PHP + Requête MYSQL + Redir en fonction du résultat » 06-10-2012 14:11:36

Jc a écrit :

Bonjour,

Votre algorithme serait-il viable en mettant votre dernière étape en première étape?

-----------
La dernière étape est de tester le navigateur ... et ceci ne doit être tester qu'à partir du moment où la variable n'est pas présente dans la base.
Que me conseillerez vous ?
mon code actuel de page.php est

<?php
$t = $_GET["t"];
if(empty($t)) { header('Location: http://www.essai.fr/variablevide.html');
}
else {
$db = mysql_connect('host', 'user', 'pwd');
mysql_select_db('mabase',$db);
$sql = 'SELECT champ1,champ2 FROM mabase where champ1='.$j.' and champ2 is not null';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    header('Location: http://www.essai.fr/variable_deja_utilisee.html');
    }
mysql_close();

   if (stristr($_SERVER['HTTP_USER_AGENT'], "Android")
   || strpos($_SERVER['HTTP_USER_AGENT'], "iPod")
   || strpos($_SERVER['HTTP_USER_AGENT'], "iPhone") )
  {
header('Location: http://www.essai.fr/final.php?navigateur=smartphone&id='.$j);
   }
   else {
header('Location: http://www.essai.fr/final.php?&id='.$j);
   }
}
unset ($j);
?>

Je ne sais pas comment :
- faire du POST en automatique vers final.php
- mettre mes conditions dans le bon ordre
- me faire des nœuds au cerveau

Thx a lot

#3 Forum Général PHP » Variable PHP + Requête MYSQL + Redir en fonction du résultat » 06-10-2012 14:11:36

rodparis
Réponses : 6

Bonjour à tous,

Etant une bille un PHP, je m'en remet à vos conseils pour faire quelque chose qui parait simple mais qui "merde" dans la réalité.

Le besoin :
J'ai besoin de récupérer une variable d'une url en PHP et de tester si cette variable est vide ou non (si vide j'appelle une page spécifique),
si non vide, je dois interroger une base MYSQL pour vérifier si cette variable est présente dans une table indexée,
si oui : je redirige vers une page spécifique
si non : je test si le navigateur appelant et je redirige vers une autre page en fonction du navigateur, en passant la variable $j en POST
le tout : automatiquement sans que l'utilisateur n'ait besoin de cliquer sur le moindre bouton envoyer !


Ce que j'ai fait :
l'URL saisie par un utilisateur est pour exemple : http://www.essai.fr/page.php?j=23456
1. Dans page.php, je récupère $j = $_GET["j"];
2. Ensuite je teste si vide ou non et je redirige si vide: if(empty($t)) { header('Location: http://www.essai.fr/variablevide.html');}
si non vide, je me connecte à ma base et j'interroge :
$db = mysql_connect('host', 'user', 'pwd');
mysql_select_db('mabase',$db);
$sql = 'SELECT champ1,champ2 FROM mabase where champ1='.$j.' and champ2 is not null';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    header('Location: http://www.essai.fr/variable_deja_utilisee.html');
    }
mysql_close();

Et ensuite je ne sais pas comment m'en sortir !
Car, une fois passé toutes les étapes, je dois tester le navigateur appelant et rediriger vers une page en POST avec ma variable $j :
  if (stristr($_SERVER['HTTP_USER_AGENT'], "Android")
   || strpos($_SERVER['HTTP_USER_AGENT'], "iPod")
   || strpos($_SERVER['HTTP_USER_AGENT'], "iPhone") )
   {
header('Location: http://www.essai.fr/final.php?navigateur=smartphone&id='.$j);
   }
   else {
header('Location: http://www.essai.fr/final.php?&id='.$j);
   }

// et je vide ma variable
unset ($j);


Bref si quelqu'un saurait comment je peux m'en sortir, se serait nickel top moumoute.

Thx a lot

Pied de page des forums

Propulsé par FluxBB