mech: $http_post_vars check

moin

hab n file, dass abhängig davon, ob per form variablen geschickt wurden einträge in ne db macht

das ganze steht in:
if($http_post_vars)
{ }

jedoch scheint obwohl keine variablen übergeben wurden der part trotzdem ausgeführt zu werden ...
ach ich poste mal die quelle:

if($http_post_vars)
{
while($http_post_vars as $index => $wert)
{
 if($wert!="")
 {
 $check = mysql_query("select * from termine where datum='" . $index . "'");
 if($check)
  {
  $update = mysql_query("update termine set text='" . $wert . "' where datum='" . $index . "'");
  }
 else
  {
  $insert = mysql_query("insert into termine (datum,text) values ('" . $index . "','" . $wert . "')");
  }
 }
}
}

jemand n tipp?

  1. Huhu mech

    jemand n tipp?

    du solltest die Variable $check zu Beginn der
    while-Schleife initialisieren, ($check='';) da es sonst zu Fehlern/ Fehlinterpretationen in den folgenden if-statements kommen kann.

    Viele Grüße

    lulu

    1. Huhu mech

      jemand n tipp?

      du solltest die Variable $check zu Beginn der
      while-Schleife initialisieren, ($check='';) da es sonst zu Fehlern/ Fehlinterpretationen in den folgenden if-statements kommen kann.

      $check sollte ha garkeine rolle spielen, weil der if-part ja nur ausgeführt werden soll, wenn in $http_post_vars was drin is, also per form variablen übergeben wurden

      Viele Grüße

      ebenfalls

      lulu

      <mech>

      1. Hi,

        jemand n tipp?

        lass dir doch mal $http_pst_vars per echo ausgeben udn schau was da drin steht, falls nicht drin ist probier eine der beiden Abfragen:

        if (isset ($http_pst_vasr))

        oder

        if (strlen($http_post_vars) > 0)

        Gruß

        ueps

        1. Hi,

          jemand n tipp?

          lass dir doch mal $http_pst_vars per echo ausgeben udn schau was da drin steht, falls nicht drin ist probier eine der beiden Abfragen:

          if (isset ($http_pst_vasr))

          oder

          if (strlen($http_post_vars) > 0)

          Gruß

          ueps

          funktioniert leider beides nicht ...... ;(
          trotzdem danke für deine bemühung

          1. Hi,

            erstmal noch so als hinweis: http://learn.to/quote

            funktioniert leider beides nicht ...... ;(
            trotzdem danke für deine bemühung

            Bitte, aber wenn keine der beiden Abfragen funktioniert heißt das,
            dass in der Variable ein Wert drin steht der eine Länge größer null hat. D.h. das da evtl. Leerzeichen drinstehen. Irgendwo werden die da reingesetzt, evtl. im Formular oder sonst wo. Könntest du
            mit $http_post_vars = str_replace(" ", "", $http_post_vars) rausfiltern.

            Gruß

            ueps

        2. re:

          also ich hab das jetz mal in ner anderen datei probiert, und da klappt es mit isset($http_post_vars)

          doch der er sagt mir immernoch n fehler in zeile 93:

          91 if($http_post_vars)
          92 {
          93 while($http_post_vars as $index => $wert)
          94 {
           if($wert!="")
           {
           $check = mysql_query("select * from termine where datum='" . $index . "'");
           if($check)
            {
            $update = mysql_query("update termine set text='" . $wert . "' where datum='" . $index . "'");
            }
           else
            {
            $insert = mysql_query("insert into termine (datum,text) values ('" . $index . "','" . $wert . "')");
            }
           }
          }
          }

          ich find den fehler einfach nicht ;(

          1. Hi,

            doch der er sagt mir immernoch n fehler in zeile 93:

            91 if($http_post_vars)
            92 {
            93 while($http_post_vars as $index => $wert)

            Das ZAuberwort heißt foreach nicht while!

            ueps

            1. foreach ........ daran lags ..... stimmt ...... manchmal sieht man den buchstaben vor wörtern nich ;)

              thx

  2. Huhu again mech

    while($http_post_vars as $index => $wert)

    sollte das nicht foreach heissen

    oder zumindest

    while( list($index,$wert) = each($HTT_POST_VARS))

    Deine Syntax habe ich so noch nicht gesehen, evtl. liegt da der
    Fehler?

    Viele Grüße

    lulu

  3. Auch Moin!

    hab n file, dass abhängig davon, ob per form variablen geschickt wurden einträge in ne db macht

    das ganze steht in:
    if($http_post_vars)
    { }

    jedoch scheint obwohl keine variablen übergeben wurden der part trotzdem ausgeführt zu werden ...

    Ich kann mir garnicht vorstellen, daß dein Formular in $http_post_vars übergeben wird. Wenn, dann wird es in $HTTP_POST_VARS übergeben. Variablennamen sind case-sensitiv.

    - Sven Rautenberg