J'ai fait un script avant, qui a fonctionné complètement bien en PHP 5.2. Mais quand je suis passé récemment sur mon serveur d'amis (version PHP 4.4.9), j'ai remarqué que certaines actions ne fonctionnaient pas comme elles le devraient. Le résultat de ce que les cases à cocher sont revenus est sorti fou ...Foreach sur les cases à cocher ne retourne pas les valeurs
Ce code J'utilise: Pour la forme:
<input type="checkbox" value="Box1" name="BoxGroup[]" />Box1
<input type="checkbox" value="Box2" name="BoxGroup[]" />Box2
<input type="checkbox" value="Box3" name="BoxGroup[]" />Box3
Pour le script d'action:
if($_POST['BoxGroup'] == true){ // If one of the checkboxes were checked...
foreach($_POST['BoxGroup'] as $value){
$BoxGroup .= ", ".$value; // Make the array into a string
}
$BoxGroup = substr($BoxGroup,2); // To skip ", " from the beginning of the $BoxGroup variable
}
Maintenant, ce que ce script fait, c'est; quand un utilisateur envoie le formulaire, il vérifie si une des cases a été cochée, et si c'est le cas, il crée une chaîne, comme ceci: "valeur, valeur", etc. J'insère ces valeurs dans ma base de données. Lorsque je prévisualise ce qui a été soumis à la base de données sur une page, j'obtiens "rayon/valeur/valeur", - donc seulement "rayon" (comme dans "Array") a été passé pour la première boîte qu'il semble.
Malheureusement, je ne peux pas mettre à jour la version PHP du serveur, puisque l'opérateur système et moi-même n'avons pas de mot de passe root (je sais que c'est fou).
Alors qu'est-ce que je fais?
Si votre sysop ne sait pas comment réinitialiser le mot de passe root, procurez-vous un nouveau sysop. – cdhowie
stillstanding: Désolé, j'ai été confondu avec la version d'une autre application. Je voulais dire PHP 5.2. cdhowie: Je pense qu'il ne peut même pas faire ça, car c'est un serveur d'un hôtel web. – Nisto
Un "hôtel web"? Est-ce que je veux savoir? –