|   Mailinglisten-Archive | 
Hallo Marcel,
> du musst die Formular-Variablen nach dem Ändern neu in der Session
> registrieren ...
OK. Ich dachte, dass tue ich auch; habe meinen Beispielcode
beigefuegt (hoffe, das Beispiel ist nicht zu lang); 
ich registriere meine Variable $test nachdem die Werte 
gecheckt und fuer gut befunden wurden; damit sollten 
doch auch Aenderungen in der Session wieder auftauchen? 
Tun sie aber nicht. Hat jemand eine Idee, was ich falsch 
mache?
------------>snip<-----------------------------
<?php
page_open(array("sess" => "fdr_Session"));
$form = new Form;
$form->ae(array("type" => "text",
			 "size" => "40",
			 "name" => "test",
			 "value" => "$test",
			 "max_l"=>20,
			 "min_l"=>1,
			 "length_e"=>"Bitte Text eingeben...",
			 "valid_regex"=>"^[a-zA-ZäöüÄÖÜß0-9\. -]*$",
			 "valid_e"=>"Bitte keine Sonderzeichen..."
			 ));
$form->ae(array("type" => "submit",
			 "size" => "120",
			 "name" => "submit",
			 "value" => "Daten abschicken"));
$form_ok = false;
/**
 *  form submitted
 */
if($submit) {
  // check sent values 
  $error = $form->ext_validate();
 
  $form_ok = true;
  // if invalid entry, set $form_ok = false
  // skip check for $submit
  
  while(list($k, $v) = each($error)) {
	 if($v != false and $k != "submit")
		$form_ok = false;
  }
  
  if ($form_ok) {
	 
	 // process form values here
	 $sess->register("test");
	 page_close();
	 echo "Daten werden in Session abgelegt und
verarbeitet...<p>";
         print "Wert von TEST: <b>" .$test.
"</b><p> </p>";
	 // DEBUG
	 var_dump($HTTP_POST_VARS);
	 
  } else {
	 
	 // load sent form values again for correction
	 $form->load_defaults();
  }
  
}
 // show form
if (!$submit or ($submit and !$form_ok)) {
  
  // extra html to display errors
  $open_html = "<br><font face='arial, sans-serif' size='-2'
color='#FF0000'><b>";
  $close_html = "</b></font><br>";
  
  $url = $sess->url($PHP_SELF);
  $form->start("", "post", $url, "_self");
  //print ("<font color=#FF0000>" .$error["test"].
"</font><br>");
  if("" != $error["test"]) {
	 $f_test = $open_html .$error["test"]. $close_html;
  } else {
	 $f_test = "";
  }
  $f_test .= $form->ge("test");
  print $f_test;
  $form->show_element("submit");
  $form->finish();
}
?>
--------->snap<-------------------------------
Gruss
Martin
-- 
************************************************************
*  sym.net  -  martin butz & christoph siefer gbr
*  zwirnerstrasse 26 - 50678 koeln - 0221/3762591
*  email: butz_(at)_sym.net - netz: http://www.sym.net
    php::bar PHP Wiki - Listenarchive