Bonsoir,
J'ai un soucis que je ne comprend pas, je le fait peut être mal mais je dois vérifié si mes tags existe avant d’envoyer le formulaire en BDD
mon form se présente donc comme ceci
Le but est qu'un utilisateur peut choisir jusqu’à 4 tags pas plus mais peut en choisir moins.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php foreach($tag as $tags): ?> <input id="<?= $tags->id ?>" type="checkbox" name="tags[]" value="<?= $tags->id ?>"> <?php endif; ?>
Voici la condition ça serait un truc comme ça mon name étant un tableau (je ne suis pas alaise avec les tableaux) je dois le foreach n'est ce pas.
donc le truc est que ici je n'ai pas d'erreur pourtant la condition ne vas pas jusqu'au else if et évidement je souhaite que si je n'ai aucune erreur et bien l'enregistrement ce fasse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 if(!empty($tags)){ var_dump($_POST['tags']); foreach($tags as $v){ $select = $db->prepare('SELECT id FROM f_tags WHERE id = ?'); $select->execute([$v]); $checktag = $select->fetchAll(); if(!preg_match('/^[0-9]+$/', $v)){ echo 'no ok 1'; $error .= errors(['Les tags ne doivent être que des chiffres']); } if(!empty($checktag[0]->id) != $v){ echo 'no ok 2'; $error .= errors(['Le tags en question est inconnue']); } } }else if(empty($error)){ die('ok'); }
J'ai essayer un SELECT EXISTS mais ça ne fonctionne pas non plus !
En vous remerciant bonne soirée.
Partager