Séparer les données d'une variable

Séparer les données d'une variable - PHP - Programmation

Marsh Posté le 18-05-2006 à 20:04:05    

Bonsoir a tous.
 
Voila je recupere via un POST une variable du style
 
Hyptnos - Test1
 
Et j'aimerais ensuite pouvoir en faire deux variable du style
 
$joueur1 = Hyptnos
$joueur2 = Test1
 
Actuellement j'ai mis un tirer entre les deux noms mais je peux très bien mettre un slash si cela simplifie.
 
donc en gros comment j'aimerai découper une variables en deux
 
Est ce possible? Si oui comment faire?
 
merci d'avance

Reply

Marsh Posté le 18-05-2006 à 20:04:05   

Reply

Marsh Posté le 18-05-2006 à 20:16:47    

Salut, voilà, il faut utiliser la fonction explode de php qui permet de séparer une chaîne en plusieurs parties de la façon suivante :  
 
$chaine = "Hyptnos-Test1",
$joueurs = explode ("-", $chaine)
ensuite tu auras :  
Hyptnos dans $joueurs[0]
Test1 dans $joueurs[1]
 
salut

Reply

Marsh Posté le 18-05-2006 à 20:19:52    

Merci beaucoup de ton aide je ne connaissait pas encore cette fonction.
 
Je met en pratique de suite
 
Encore merci

Reply

Marsh Posté le 18-05-2006 à 20:42:26    

Bon cela fonctionne sauf que je suis dans un formulaire j'explique
 
d'un coté j'ai cela
 

Code :
  1. echo '<select name="groupe1">';
  2.   echo '<option value= selected></option>';
  3.    echo "<option>$pseudo1 / $pseudo3</option>";
  4.    echo "<option>$pseudo2 / $pseudo4</option>";
  5.    echo '</select>';


 
Et du coté du traitement j'ai cela  
 

Code :
  1. if (($_POST['groupe1'] != 'selected') || ($_POST['groupe1'] != '')){
  2. $groupe = $_POST['groupe1'];
  3. $joueur = explode ("/", $groupe);
  4. echo $joueur[0].'<br>';
  5. echo $joueur[1].'<br>';
  6.  }


 
Normalement si je valide le formulaire sans avoir selection quoique se soit dans le select il ne devrait rien se passe non? Puis que je lui est mise la condition si select différet de selected ou si different de null alors il affiche le reste
 
sauf que si je valide a blanc voila ce qu'il me met

Code :
  1. selected
  2. Notice: Undefined offset: 1 in c:\easyphp1-8\www\guillaume\add_result_topspin2.php on line 33


 
Une idée?

Reply

Marsh Posté le 18-05-2006 à 20:47:29    

Reply

Marsh Posté le 18-05-2006 à 20:58:21    

bas en rajoutant les value voici ce qu'il me sort
 

Citation :


Notice: Undefined index: groupe1 in c:\easyphp1-8\www\guillaume\add_result_topspin2.php on line 28
 
Notice: Undefined index: groupe1 in c:\easyphp1-8\www\guillaume\add_result_topspin2.php on line 30
 
 
Notice: Undefined offset: 1 in c:\easyphp1-8\www\guillaume\add_result_topspin2.php on line 33


 
voici ce que j'ai mis
 

Code :
  1. echo '<select name="groupe1">';
  2.   echo '<option value= selected></option>';
  3.    echo "<option value=\"$pseudo1 / $pseudo3\">$pseudo1 / $pseudo3</option>";
  4.    echo "<option value=\"$pseudo2 / $pseudo4\">$pseudo2 / $pseudo4</option>";
  5.    echo '</select>';


 
Je précise depuis tout a l'heure je n'ai rien modifier d'autre que de rajouter les value
 
Donc dès que j'affiche la page j'ai le message ci dessus
 
si je valide a blanc j'ai ca
 

Citation :


selected
 
Notice: Undefined offset: 1 in c:\easyphp1-8\www\guillaume\add_result_topspin2.php on line 33


 
Et si je choisi l'une des options du select ca fonctionne niquel

Reply

Marsh Posté le 18-05-2006 à 21:04:09    

Normal, si tu ne valides pas, $_POST['groupe1'] ne sera pas définie.  
http://fr.php.net/isset
 
Et si tu n'as rien choisi dans la liste, elle ne sera pas de la forme pseudo1 / pseudo2.
(Vérifier.)
 
Et ton option par défaut n'a pas une syntaxe très orthodoxe...  
 
<option value="novalue" selected="selected"></option>


Message édité par sielfried le 18-05-2006 à 21:04:41

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 18-05-2006 à 21:08:54    

Merci bien c'est bon c'est niquel
 
Le if (isset ()) je l'avais mis avant mais j'avais des messages aussi mais normal j'avais oublie une ligne :)
 
donc avec ca  
 

Code :
  1. if (isset($_POST['groupe1'])){
  2. if ($_POST['groupe1']!="novalue" ){
  3. $groupe = $_POST['groupe1'];
  4. $joueur = explode ("/", $groupe);
  5. echo $joueur[0].'<br>';
  6. echo $joueur[1].'<br>';
  7.  }
  8. }


 
Ca marche mieu :)
 
Merci encore

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed