Problème php avec header, if, elseif ...

TheIshtar -  
 TheIshtar -
Bonjour,

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

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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."; 
}  
1
TheIshtar
 
Merciii, tu avais raison ^^
0
TheIshtar
 
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.
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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
0

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

Posez votre question
TheIshtar
 
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 ;)
0
TheIshtar
 
Comme je le pensais, ça marche toujours pas =(
0
TheIshtar
 
Je cherche toujours ...
0