Problème php avec header, if, elseif ...
TheIshtar
-
TheIshtar -
TheIshtar -
Bonjour,
J'ai un problème, mais j'arrive à le trouver.
voici un bout de code que vous devez normalement comprendre ...
c'est la suite du code, après le submit d'un formulaire avec 2 champs : ID et email.
Le problème, c'est que le téléchargement ne se lance pas.
Merci d'avance ;)
J'ai un problème, mais j'arrive à le trouver.
voici un bout de code que vous devez normalement comprendre ...
if (mysql_num_rows($req) > 0 ) {
$data = mysql_fetch_assoc($req);
$payement = $data['payement'];
$terminé = $data['terminé'];
$soft = $data['soft'];
if ($payement == Oui && $terminé == Non) {
$query = mysql_query("UPDATE info SET terminé = 'Oui' WHERE id = '$id'; ");
$reponse = "Le téléchargement va bientôt commencer ...";
if($soft = fichier1) {
$url = "http://www.monsite.com/fichier1.rar"; }
elseif($soft = fichier2) {
$url = "http://www.monsite.com/fichier2.rar";}
header("Location: $url");
}
else { $reponse = "Vous avez déjà télécharger le logiciel."; } }
else { $reponse = "ID ou email incorrect."; }
c'est la suite du code, après le submit d'un formulaire avec 2 champs : ID et email.
Le problème, c'est que le téléchargement ne se lance pas.
Merci d'avance ;)
7 réponses
-
if (mysql_num_rows($req) > 0 ) { $data = mysql_fetch_assoc($req); $payement = $data['payement']; $terminé = $data['terminé']; $soft = $data['soft']; //pour comparer avec une string il faut qu'elle soit avec des guillemets simples ou doubles if ($payement == 'Oui' && $terminé == 'Non') { $query = mysql_query("UPDATE info SET terminé = 'Oui' WHERE id = '$id'; "); $reponse = "Le téléchargement va bientôt commencer ..."; if($soft = 'fichier1') { $url = "http://www.monsite.com/fichier1.rar"; } elseif($soft = 'fichier2') { $url = "http://www.monsite.com/fichier2.rar";} header("Location:$url"); } else { $reponse = "Vous avez déjà télécharger le logiciel."; } } else { $reponse = "ID ou email incorrect."; } -
-
Erf, là un nouveau problème s'oppose : voici donc le code :
if (mysql_num_rows($req) > 0 ) { $data = mysql_fetch_assoc($req); $payement = $data['payement']; $terminé = $data['terminé']; $soft = $data['soft']; if($soft = 'fichier1') { $key = "code1" ; $url = "www.monsite.com/fichier1.rar"; } elseif($soft = 'fichier2') { $key = "code2" ; $url = "www.monsite.com/fichier2.rar"; } if($payement == 'en attente') { $reponse = "Vous n'avez pas encore payé votre commande."; } elseif ($payement == 'Oui' && $terminé == 'Non') { $query = mysql_query("UPDATE info SET terminé = 'Oui' WHERE id = '$id'; "); $reponse = "Le téléchargement va bientôt commencer ... <br>Votre clé est : <b>$key</b>"; header("Refresh: 5;url=$url"); } else { $reponse = "Vous avez déjà télécharger le logiciel."; } } else { $reponse = "ID ou email incorrect."; }
Le problème c'est que le téléchargement ne se lance que pour le fichier1 et ne montre la clé que du fichier1 même si c'est fichier2 en soft.
D'avance merci. -
normal il faut faire une boucle while pour parcourir tous les enre trouvés
$data = mysql_fetch_assoc($req); ne te sort que le premier
if (mysql_num_rows($req) > 0 ) { while($data = mysql_fetch_assoc($req)){ $payement = $data['payement']; $terminé = $data['terminé']; $soft = $data['soft']; if($soft = 'fichier1') { $key = "code1" ; $url = "www.monsite.com/fichier1.rar"; } elseif($soft = 'fichier2') { $key = "code2" ; $url = "www.monsite.com/fichier2.rar"; } if($payement == 'en attente') { $reponse = "Vous n'avez pas encore payé votre commande."; } elseif ($payement == 'Oui' && $terminé == 'Non') { $query = mysql_query("UPDATE info SET terminé = 'Oui' WHERE id = '$id'; "); $reponse = "Le téléchargement va bientôt commencer ... <br>Votre clé est : <b>$key</b>"; header("Refresh: 5;url=$url"); } else { $reponse = "Vous avez déjà télécharger le logiciel."; } } else { $reponse = "ID ou email incorrect."; } } //fin de la boucle while -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
la boucle est fait s'il y a plusieurs entré, là je n'ai qu'une seule.
Je vais essayer tout de même ta solution ;) -
-