Problème avec 'if'
Fermé
Mionster
Messages postés
40
Date d'inscription
dimanche 16 juillet 2017
Statut
Membre
Dernière intervention
18 mai 2023
-
8 nov. 2020 à 19:20
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 8 nov. 2020 à 21:18
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 8 nov. 2020 à 21:18
A voir également:
- Problème avec 'if'
- Connexion messenger if - Guide
- If not exist batch ✓ - Forum Autoit / batch
- If char ✓ - Forum Programmation
- End if sans bloc if ✓ - Forum Access
- Batch if plusieurs conditions ✓ - Forum Programmation
3 réponses
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
8 nov. 2020 à 19:37
8 nov. 2020 à 19:37
Bonjour,
Ici, on poste son code directement ( en utilisant les balises de code) au lieu de mettre une image qui ne nous permet pas de copier/coller
Pour les balises de code, merci de lire ENTIEREMENT ceci : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Et je vois déjà une erreur à la première ligne... tu as oublié de mettre un && entre tes deux conditions dans ton if.
Ici, on poste son code directement ( en utilisant les balises de code) au lieu de mettre une image qui ne nous permet pas de copier/coller
Pour les balises de code, merci de lire ENTIEREMENT ceci : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Et je vois déjà une erreur à la première ligne... tu as oublié de mettre un && entre tes deux conditions dans ton if.
Mionster
Messages postés
40
Date d'inscription
dimanche 16 juillet 2017
Statut
Membre
Dernière intervention
18 mai 2023
8 nov. 2020 à 20:25
8 nov. 2020 à 20:25
if(isset($_POST['article_titre'])) (isset($_POST['article_contenu'])){
if(!empty($_POST["article_titre"]) AND !empty ($_POST['article_contenu')) {
$article_titre = htmlspecialchars($_POST['article_titre']);
$article_contenu = htmlspecialchars($_POST['article_contenu']);
$ins = $bdd->prepare('INSERT INTO articles (titre, contenu, date_time_publication)
VALUES (?,?,NOW())');
$ins->execute(array($article_titre, $article_contenu));
$message = 'Votre article a bien était posté';
} else {
$message = 'Veuillez remplir tout les champs';
}
}
?>
voilà pour le code.
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
8 nov. 2020 à 20:32
8 nov. 2020 à 20:32
Alors
Non seulement tu n'as pas lu ENTIEREMENT le lien que je t'ai donné.... vu que tu n'y a pas précisé le LANGAGE afin d'avoir la coloration syntaxique
Mais en plus.. tu n'as pas lu la "solution" que je t'ai donné pour corrigé ton souci.
Non seulement tu n'as pas lu ENTIEREMENT le lien que je t'ai donné.... vu que tu n'y a pas précisé le LANGAGE afin d'avoir la coloration syntaxique
Mais en plus.. tu n'as pas lu la "solution" que je t'ai donné pour corrigé ton souci.
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
8 nov. 2020 à 20:33
8 nov. 2020 à 20:33
Je rappel également que !EMPTY fais déjà un ISSET ...
Tu n'as donc pas besoin de ton premier IF
Tu n'as donc pas besoin de ton premier IF
Mionster
Messages postés
40
Date d'inscription
dimanche 16 juillet 2017
Statut
Membre
Dernière intervention
18 mai 2023
>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
8 nov. 2020 à 21:05
8 nov. 2020 à 21:05
Tu parles du if avant le ISSET ou celui avant le EMPTY ?
Mionster
Messages postés
40
Date d'inscription
dimanche 16 juillet 2017
Statut
Membre
Dernière intervention
18 mai 2023
>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
8 nov. 2020 à 21:04
8 nov. 2020 à 21:04
Excuse moi j'ai voulu aller trop vite. Et si j'ai bien lu mais j'ai voulu t'envoyer le code avec l'erreur pour que tu puisses bien le voir.
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
Modifié le 8 nov. 2020 à 21:18
Modifié le 8 nov. 2020 à 21:18
Bon...
cette ligne
Est Fausse et inutile
Ensuite..
Plusieurs choses dans ton code :
- htmlspecialchars ne s'utilise JAMAIS pour traiter le contenu des variables à insérer en BDD
ça ne doit servir que pour de l'affichage
- Il faut activer la gestion des erreurs PDO dans la connexion et placer CHAQUE requête dans des blocs Try/CATCH
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
-Et un peu de lecture en plus :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ce qui donne :
cette ligne
if(isset($_POST['article_titre'])) (isset($_POST['article_contenu'])){
Est Fausse et inutile
Ensuite..
Plusieurs choses dans ton code :
- htmlspecialchars ne s'utilise JAMAIS pour traiter le contenu des variables à insérer en BDD
ça ne doit servir que pour de l'affichage
- Il faut activer la gestion des erreurs PDO dans la connexion et placer CHAQUE requête dans des blocs Try/CATCH
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
-Et un peu de lecture en plus :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ce qui donne :
<?php //affichage des erreurs Php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); // connexion à la bdd // je te laisse compléter ici... // récupération PROPRE des variables AVANT de les utiliser //utilisation de l'écriture TERNAIRE pour initialiser tes variables correctement $article_titre = !empty($_POST['article_titre']) ? $_POST['article_titre'] : null; $article_contenu = !empty($_POST['article_contenu']) ? $_POST['article_contenu'] : null; if($article_titre && $article_contenu ){ $sql = 'INSERT INTO articles (titre, contenu, date_time_publication) VALUES (?,?,NOW())'; $datas = array($article_titre, $article_contenu); //Try/CATCH permet d'intercepter les éventuelles erreurs SQL try{ $ins = $bdd->prepare($sql); $ins->execute($datas); $message = 'Votre article a bien était posté'; }catch(Exception $e){ $message = 'Erreur dans la requête SQL'; } } ?>