Probleme fonction explode php

manegedaix

Membre confirmé
10 Avril 2007
71
1
Bonjour à tous. J'ai un probleme, malgrés mes recherches sur internet et dans le manuel de php; je n'arrive pas à faire fonctionner la fonction implode de php.

Je voudrais recuperer des infos transmis en par un formulaire en GET et POST et les "imploser" avec la fonction explode.

Tout mon code est bon quand je ne met pas cette fonction; mais des que je l'insere je tombe face à une page blanche.

Pouvez vous me dire ou est ma faute?

Merci d'avance.

Bloc de code:
<?php

  //récupération des valeurs des champs GET:
  
  
//login:
  $login = $_GET["l"] ;
//mot de passe:
  $mdp = $_GET["p"] ;
//valeur:
  $valeur = $_GET["v"] ; 

 
 
 
 /* Recherche des champs vides  */                      
     
        if (empty($login) OR empty($mdp) OR empty($valeur))          
        {
                  echo '<font color="red">rep_HTTP=Identification requise.</font>'; 



}
 
else {    
 
 
 
 
  //récupération des valeurs des champs POST:
  

  $donnees = $_POST["s"] ;
  
  
  //on explose les valeurs de donnees
  
  
$array_donnees = explode(';', $donnees); 
*

$heure = array_donnees[0];
$date = array_donnees[1];
$altitude = array_donnees[4];



     //connection au serveur
  $cnx = mysql_connect( "localhost", "XXX", "XXX" ) ;
 
  //sélection de la base de données:
  $db  = mysql_select_db( "XXXX" ) ;
  
 
   
  //création de la requête SQL:
  $sql = "INSERT  INTO TABLEXXX (login, mdp, valeur, heure, date, altitude)
            VALUES ( '$login', '$mdp', '$valeur', '$heure', '$date', '$altitude') " ;
  
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
  
  //affichage des résultats, pour savoir si l'insertion a marchée:
  if($requete)
  {
echo'<font color="green">Données enregistrées</font>'; 
  }
  else
  {
    echo("L'insertion a échouée") ;
  }

}
 
// Deconnexion de la base de donnees
mysql_close();

?>
 
Je vois pas de fautes, à part l'étoile qui traine en dessous. Tu l'as pas récupérée en copier/coller par hasard ? Vérifie que t'as pas un caractère invisible qui traine, et modifie le php.ini pour qu'il t'affiche les erreurs/warnings au lieu de mettre une page blanche...
 
Non c est un script écrit de ma propre main. Je vais essayer de faire ce que tu me dis. Tout le script fonctionne sans la fonction explode. Mais des que je la met, c est page blanche. Même le script de vérification de champs vide ne se fait pas.

Sinon avez vous un script équivalent mais formuler autrement pour au cas ou?

Merci d' avance.
 
effectivement tu as cette étoile qui traine (à enlever donc) mais surtout ton array n'est pas bon.

c'est $heure = $array_donnees[0]; et pas $heure = array_donnees[0]; et idem pour les autres éléments

comme le dit grumff, tu devrais modifier ton php.ini pour afficher les erreurs, ça peut aider à trouver tout de suite ce qui cloche
 
Toujours le meme probleme malgres les corrections.

Voici le message d'erreur:

Parse error: syntax error, unexpected T_VARIABLE in /mnt/156/sda/c/3/XXXXX/XXXXX.php on line 43

Soit la ligne $heure = $array_donnees[0].

Ou est le probleme?
 
que donne un : echo $array_donnees[0] ?

il semble que l'erreur vienne du contenu renvoyé par ton tableau

pour en avoir le coeur net, fais un test en remplaçant $donnees=$_POST["s"]; (tiens je vois aussi que tu mets des espaces inutiles avant le ; )
par $donnees = "aaa;bbb;ccc";
 
J'ai remplacé le $donnees=$_POST["s"]; par $donnees = "aaa;bbb;ccc";

pas de changement. Toujours la meme erreur.

J'ai essayé de faire un echo $array_donnees[0]

et là il me dit: Parse error: syntax error, unexpected T_ECHO in /mnt/156/sda/c/3/XXX/XXX.php on line XX (ligne de l' echo).

Y a un truc que je dois mal ecrire mais je ne vois pas lequel...
 
ecoute, crée un fichier test.php et colles-y ceci

<?php

$donnees = "aaaaa;bbbbbb;ccccc";

$array_donnees = explode(';', $donnees);


echo $array_donnees[0];


?>

si ça marche pas, et que ça te renvoie pas " aaaaa " c'est que tu as un soucis dans ta config php
 
Merci cherryblue,

j'ai fait ce que tu m'as dit. Cela à fonctionné. J'ai donc poursuivi avec mon POST dans un nouveau fichier. J'ai tout ré-écrit dans un nouveau fichier.

Du coup tout marche.

Bien que j'ai affiché les caracteres cachés, je n'ai rien trouvé d'anormal.

Merci de votre aide à tous.

A PLus