Page 1 sur 1

Problème de conditions dans un code de quizz

Posté : 25 sept. 2019, 12:20
par MrWek
Salut à tous,

J'ai un problème tout bête de condition qui ne fonctionne pas et je ne comprend pas pourquoi
Si vous avez une idée, je suis preneur :)
J'ai fait des tests en déclarant ma variable $niv sans condition et mon code fonctionne. Du coup, cela vient de là, mais je ne vois pas où :(


Voici le principe du code sur le quel je bosse

- C'est un Quizz à partir d'un formulaire de Zoho Form
- Je récupère l'email de l'utilisateur et les notes de mes modules en json
- je fais une condition qui va afficher une appréciation en fonction de la note obtenu (c'est ce qui merde)
- Je récupère un template d'email
- J'envoie un email avec l'appréciation



- Je récupère l'email de l'utilisateur et les notes de mes modules en json

Code : Tout sélectionner

$raw_payload = file_get_contents('php://input'); $payload = json_decode($raw_payload, true); if (is_array($payload)) { $fh = fopen("log.txt", "a+"); if ($fh) { fwrite($fh, date('Y-m-d H:i:s', time()).PHP_EOL); $nom=$payload['nom']; $prenom=$payload['prenom']; $email=$payload['email']; $leads=$payload['leads']; $activite=$payload['activite'];


- je fais une condition qui va afficher une appréciation en fonction de la note obtenu (c'est ce qui merde)

Code : Tout sélectionner

$niv0="Niveau zéro : tu peux t'améliorer"; $niv1="Niveau 1 : encore en dessous de la moyenne"; $niv2="Niveau 2 : au dessus de la moyenne"; $niv3="Niveau 3 : Super tu es très fort !"; if ($leads < 15) { $niv = $niv0 ; } elseif ($leads >= 15 AND $leads <= 30) { $niv = $niv1 ; } elseif ($leads >= 30 AND $leads <= 40) { $niv = $niv2 ; } else ($leads > 40) { $niv = $niv3 ; }
- Je récupère un template d'email

Code : Tout sélectionner

$body = file_get_contents('email-template-test.html'); $patterns = array( '/{prenom}/', '/{niv}/', ); $replacements = array( $prenom, $niv, ); $body = preg_replace($patterns, $replacements, $body);
- J'envoie l'email avec l'appréciation

Code : Tout sélectionner

$headers = "From: \"Mon site\"<[email protected]>\n"; $headers .= "Reply-To: [email protected]\n"; $headers .= "Content-Type: text/html; charset=\"utf-8\""; // ========================= Envoie de l'email mail($email,$sujet,$body,$headers);

Re: Problème de conditions dans un code de quizz

Posté : 25 sept. 2019, 12:43
par @rthur
Bonjour,

Fait un var_dump($leads) au début de tes conditions vu que c'est sur ce paramètre que se fait le choix, et un var_dump($niv) à la fin pour voir si c'est cohérent.