problème php foreach et variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème php foreach et variable

Re: [RESOLU] problème php foreach et variable

par Ryle » 23 juin 2021, 14:10

Salutations !

La variable $typezones que tu utilises dans le foreach n'a pas été déclarée au préalable. PHP ne sachant pas à quoi elle correspond, il te retourne un message d'avertissement avant de considérer qu'elle doit être nulle. Et comme tu essayes de l'utiliser dans un foreach, il t'envoi un deuxième avertissement pour te dire que null n'est pas un tableau valide pour pouvoir être parcouru :)

problème php foreach et variable

par bichetitan » 23 juin 2021, 13:22

Bonjour je suis dans le php pour des fonction voir et updates et je n'arrive pas à faire modifier mon site

voici les codes php :
<?php

    session_start();
    if(!isset($_SESSION['compteid']))
    {
        header('Location:../../index.php');
    }

    require_once '../../config/config.php';

    $numzone = htmlspecialchars($_GET['numZone']);
    $reqzone = $connectbdd->prepare('SELECT * FROM mwd_zones WHERE id_zone = ?');
    $reqzone->execute(array($numzone)); 
    $nbredatatypezones = $zone = $reqzone->fetch();
?>


 <!-- Form Group (type)-->
                                                <div class="form-group col-md-6">
                                                    <label class="small mb-1" for="formcontrolselecttypezone">Type</label>
                                                    <select class="form-control form-control-solid" id="formcontrolselecttypezone" name="typezone">
                                                        <option selected value="0">-- Selectionnez --</option>
                                                        <?php
                                                            if($nbredatatypezones  != 0) // vérifie s'il est différent égale à 0
                                                            {
                                                                foreach($typezones as $typezone) // Affiche les valeurs 1 par 1
                                                                {
                                                                    // Affichage de la ligne typezone
                                                                    echo "\t",'<option value="', $typezone['id_type'], '">', $typezone['id_type'], ' - ', $typezone['type_nom'], '</option>',"\n";
                                                                }
                                                            }else{
                                                                    echo "\t",'<option value="0">',"Aucun type de zone disponible",'</option>',"\n";
                                                            };
                                                        ?>
                                                    </select>
                                                </div>
et voici le message d'erreur, merci d'avance

[Wed Jun 23 13:12:28.529870 2021] [php7:notice] [pid 16368] [client 10.10.1.75:50199] PHP Notice: Undefined variable: typezones in /var/www/html/MyDSIWifiAdmin/functions/zones/voirzone.php on line 263, referer: http://10.10.246.245/MyDSIWifiAdmin/fun ... ?numZone=1
[Wed Jun 23 13:12:28.529895 2021] [php7:warn] [pid 16368] [client 10.10.1.75:50199] PHP Warning: Invalid argument supplied for foreach() in /var/www/html/MyDSIWifiAdmin/functions/zones/voirzone.php on line 263, referer: http://10.10.246.245/MyDSIWifiAdmin/fun ... ?numZone=1