Daniel: alle postvariablen in array

Hi,
ich habe folgendes problem. ich baue mit php eine seite dynamisch auf.
dadurch entsteht ein folgendem text equivalenter html code:

  
<tr>  
<td><input name="datum_termin_17" value="27.05.2005" size="9" type="text"></td>  
</tr>  
<tr>  
<td><input name="datum_termin_18" value="27.05.2005" size="9" type="text"></td>  
</tr>  
<tr>  
<td><input name="datum_termin_27" value="27.05.2005" size="9" type="text"></td>  
</tr>  

also alle input felder haben den namen datum_termin_X und um das X
geht es mir, kann ich irgendwie alle post variablen durchgehn und
schaun ob der key den teilstring datum_termin_ hat? wenn ja wie? ich
glaub ich steh grad auf dem schlauch. ich weis das es eine funktion
für array's gibt welche mir einen key liefert und $_POST ist ja ein
array, oder seh ich das falsch? ich hab grad echt voll den hänger.

hoffe hab mein problem ausreichend geschildert. wenn nicht geh ich auf gegenfragen gerne ein.

MfG

  1. hi,

    also alle input felder haben den namen datum_termin_X und um das X
    geht es mir, kann ich irgendwie alle post variablen durchgehn und
    schaun ob der key den teilstring datum_termin_ hat? wenn ja wie? ich
    glaub ich steh grad auf dem schlauch. ich weis das es eine funktion
    für array's gibt welche mir einen key liefert

    du könntest $_POST mit foreach durchlaufen, und mit stringfunktionen prüfen, ob der jeweilige key mit "datum_termin_" anfängt.
    array_key_exists() könnte weiterhelfen, wenn du den eintrag zu einem bestimmten X suchst.

    aber, irgendwie schöner wäre vielleicht, die inputfelder gleich mit name="datum_termin[X]" zu benennen.
    dann bekommst du nämlich in $_POST['datum_termin'] ein unter-array mit den inhalten all jener felder, dass du bequem durchlaufen kannst.

    tipp: ausprobieren und mit print_r($_POST) die struktur anschauen, wenn noch unklar.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi,

      wenn du den eintrag zu einem bestimmten X suchst.

      ich suche sowohl alle werte zu X sowie den dazugehörigen eintrag.

      aber, irgendwie schöner wäre vielleicht, die inputfelder gleich mit
      name="datum_termin[X]" zu benennen. dann bekommst du nämlich in
      $_POST['datum_termin'] ein unter-array mit den inhalten all jener
      felder, dass du bequem durchlaufen kannst.

      Oh ja, das wusste ich garnicht, ist echt praktisch.

      tipp: ausprobieren und mit print_r($_POST) die struktur anschauen, wenn noch unklar.

      nein ist klar, habs trotzdem gemacht um sicher zugehn obs funktioniert, und es funktioniert.

      vielen dank an dich. die X-Werte hol ich mir jetzt so:

        
        if(isset($_POST['datum_termin_']))  
        {  
          $array = $_POST['datum_termin_'];  
          $unterpunkte = count($array);  
          for($z=0; $z<=$unterpunkte; $z++)  
          {  
            if($z == 0)  
            {  
              $schluessel = key($array);  
              echo "<br>$schluessel<br>";  
            }  
            else  
            {  
              next($array);  
              $schluessel = key($array);  
              echo "<br>$schluessel<br>";  
            }  
          }  
        }//  if(isset($_POST['datum_termin_']))  
      
      

      so geht das aber ich denke es gibt ne bessere lösung.

      trotzdem schonmal und nochmal Vielen dank für deine hilfe.

      MfG

      1. if(isset($POST['datum_termin']))
          {
            $array = $POST['datum_termin'];
            $unterpunkte = count($array);
            for($z=0; $z<=$unterpunkte; $z++)
            {
              if($z == 0)
              {
                $schluessel = key($array);
                echo "<br>$schluessel<br>";
              }
              else
              {
                next($array);
                $schluessel = key($array);
                echo "<br>$schluessel<br>";
              }
            }
          }//  if(isset($POST['datum_termin']))

          
        Hi,  
          
        warum so umständlich?  
          
        if(isset($\_POST['datum\_termin']))  
           {  
           foreach($\_POST['datum\_termin'] as $schluessel=>$wert)  
                     {  
                     print $schluessel." ".$wert;  
                     }//Ende forach  
           }//Ende if  
          
        Dann hast Du alle Array-Element durchlaufen, egal wie viele....  
          
        Grüße  
          
          
        
        
  2. <td><input name="datum_termin_27" value="27.05.2005" size="9" type="text"></td>
    </tr>

    also alle input felder haben den namen datum_termin_X und um das X
    geht es mir, kann ich irgendwie alle post variablen durchgehn und
    schaun ob der key den teilstring datum_termin_ hat? wenn ja wie? ich
    glaub ich steh grad auf dem schlauch. ich weis das es eine funktion
    für array's gibt welche mir einen key liefert und $_POST ist ja ein
    array, oder seh ich das falsch? ich hab grad echt voll den hänger.

    schreibe besser:
    <input name="datum_termin[27]" value="27.05.2005"

    dann legt der php interpreter ein array an. über die indizees kannst du dann darauf zugreifen. mqcht sich auch in ner schleife besser.

    1. Hi,

      <input name="datum_termin_27" value="27.05.2005" size="9" type="text">
      schreibe besser:
      <input name="datum_termin[27]" value="27.05.2005"

      das obere schreibt ja mein php-script und nicht ich. ich hol mir die
      Datums-Daten aus ner DB und die haben eine id. damit ich auf die ID
      zugreifen kann liess ich die mit einem

        
      echo "<input name='datum_termin_$id'>";  
      
      

      hineinschreiben. aufgrund von wahsgas post der quasi das gleiche gesagt
      hat wie du hab ich das so erweitert.

        
      echo "<input name='datum_termin_[$id]'>";  
      
      

      also lass ich es von php jetzt so schreiben das quasi das rauskommt wie
      du es auch gemeint hast.

      auch dir ein dank.

      MfG