2010-09-29 5 views
-2
<? 
$nimi = $_POST['nimi']; 
$nimed = $_POST['nimed']; 
if ($nimi) { 
    if ($nimed) { 
     $nimed .= ', ' .$nimi; 
    } 
    else { 
     $nimed = $nimi; 
    } 
} 
?> 
<html> 
<form method="post"> 
Sisesta nimi: 
<input type="text" name="nimi" size="9" /> 
<input type="hidden" name="nimed" value="<?= $nimed ?>" /> 
<input type="submit" value="Lisa" /> 
</form> 
<? 
$m = explode(', ',$nimed); 
sort ($m); 
if ($nimi) { 
    echo '<ol>'; 
    foreach ($m as $nimi) { 
     echo "<li>$nimi<br /></li>"; 
    } 
} 
echo '</ol>'; 
?> 
</html> 

E: Où placer in_array SO IT DIRAIS "CE NOM EST-IL DÉJÀ AU LIEU DE CETTE QUANTITE A LA LISTE"

if (in_array($nimi,$m)) {} 
+6

Je accidentellement toute la question :( – halfdan

+0

je ne suis pas et ce que vous Blablabla non plus. Peut-être fous d'écrire une vraie question? – deceze

+0

J'ai essayé vraiment dur mais je ne sais pas ce que vous voulez. S'il vous plaît décrire votre problème correctement –

Répondre

1

Je suppose de ce $ nimi est un nom unique, et $ nimed est la liste des noms soumis.

Si vous vouliez assurer le nom doublé est pas dans la liste et encore sortie, vous vérifierait in_array avant concatting le nom à la liste, quelque chose le long des lignes de

if($nimi) { 
    if($nimed) { 
     if(strpos($nimi,$nimed) === false) { 
      echo("THIS NAME IS ALREADY THERE INSTEAD OF ADDING IT TO THE LIST"); 
     } 
     else { 
      $nimed .= $nimed . ', ' . $nimi; 

... snip ... 

Edit: La première partie de la réponse aspirée. Supprimé

1
$nimi = $_POST['nimi']; 
$nimed = $_POST['nimed']; 
$added = false; 
if ($nimi) { 
    if ($nimed) { 
     $temp = explode(', ',$nimed); 
     if (!in_array($nimi,$temp)) { 
      $nimed .= ', ' .$nimi; 
      $added = true; 
     } 
    } 
    else { 
     $nimed = $nimi; 
    } 
} 
... 
if ($nimi && !$added) { 
    echo 'Already in array'; 
} 
Questions connexes