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 38202 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 juin 2024 - 8 nov. 2020 à 21:18
jordane45 Messages postés 38202 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 juin 2024 - 8 nov. 2020 à 21:18
A voir également:
- Problème avec 'if'
- If not exist batch ✓ - Forum Autoit / batch
- If char ✓ - Forum Programmation
- End if sans bloc if ✓ - Forum Access
- Connexion messenger if - Guide
- Bios has been reset please reconfigure a bios setup items if needed - Forum BIOS
3 réponses
jordane45
Messages postés
38202
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juin 2024
4 675
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
38202
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juin 2024
4 675
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
38202
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juin 2024
4 675
>
jordane45
Messages postés
38202
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juin 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
38202
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juin 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
38202
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juin 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
38202
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 juin 2024
4 675
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'; } } ?>