Seite 1 von 1

isset($HTTP_POST_VARS

Verfasst: 13.03.2008 13:12
von DespoBerry
hallo,

ich hab ein problem mit folgendem:

Code: Alles auswählen

$team = array();

	                  if (isset($HTTP_POST_VARS['Tag']))
	                  {
	                           $tag = $_POST["Tag"];
	                  }

                         $tag = request_var('tag', 0, true, true);

	                  else
	                  {
	                           $sql = "SELECT (case when max(spieltag) is null then 0 else max(spieltag) End) as spieltag FROM tippspiel_spieltage";
	                           $result = $db->sql_query($sql);
	                           while($row = $db->sql_fetchrow($result))
	                      {
	                                   $tag = $row['spieltag']+1;
	                      }
	                           if ($tag > $tippspiel_config['tipp_spieltaganzahl'])
	                           {
	                                   $tag = $tippspiel_config['tipp_spieltaganzahl'];
	                           }
	                  }

	                  if( isset($HTTP_GET_VARS['Tag']))
	                  {
	                           $tag = $_GET["Tag"];
	                  }


	                  for ($s = 1 ; $s < $tippspiel_config['tipp_spieltaganzahl']+1; $s++)
	                  {
	                           $template->assign_block_vars('form_block', array(
	                                   'S_SPIELTAG' => $s,
	                                   'S_SELECTED' => ($tag == $s) ? 'selected' : ''
	                                   )
	                      );
	                  }
lt. olympuswiki gilt folgendes:

Code: Alles auswählen

if(isset($HTTP_POST_VARS['foo']))
{
     $foo = intval($HTTP_POST_VARS['foo']);
}
elseif(isset($HTTP_GET_VARS['foo']))
{
     $foo = intval($HTTP_GET_VARS['foo']);
}
else
{
     $foo = 0;
}
wird ersetzt durch

Code: Alles auswählen

$foo = request_var('foo', 0, true, true);
also müsste es doch

Code: Alles auswählen

$tag = request_var('tag', 0, true, true);
heißen oder?

wäre top, wenn mir jemand auf die sprünge helfen könnte

Verfasst: 13.03.2008 14:55
von nickvergessen
das 2te , true kannst du vermutlich weglassen.
Es soltle dann soweit stimmen, außer dass du Tag benutzen musst anstelle von tag

Verfasst: 13.03.2008 20:56
von Dr.Death
Wenn die Variable nur "numerisch" ist ( intval ) und nicht auch noch aus einem Cookie ausgelesen werden soll, reicht es so:

Code: Alles auswählen

$tag = request_var('Tag', 0);
Das "erste" true würde angeben, das es sich um einen Multibyte Code handelt ( Also einen Stringwert, der auch UTF8 Zeichen enthalten kann ( Beispiel Umlaute ) )
Das "zweite" true würde bedeuten, dass wenn kein POST stattgefunden hat der evtl. vorhandene Cookie ausgelesen und benutzt werden soll.... erst wenn kein Cookie vorhanden ist, wird der vorgegebene default Wert 0 verwendet.

Code: Alles auswählen

function request_var($var_name, $default, $multibyte = false, $cookie = false)