сессии .. мать из разтак ..

walker_ag

Новичок
сессии .. мать из разтак ..

в файле с формой тестирую если зарегистрены переменные в сессии .. если нет, то стартую сессию ... потом заполняю фому и посылаю скрипту. скрипт ловит всё номана и заводит в сессию потом проверяет заполнение нескольких полей ... если хоть одно не заполнено то редиректит клиента назад к форме. вроде всё пашет .. но если теперь я заполню то поле из-за которого он меня послал назад .. но вытру данные из другого поля, которое он тож проверяет ... то он опять же меня пошлёт назад ... но данные в сессии не обновит. вот такая муйня ...
кароче при первом проходе циклом, всё работает, при следующих всё тож работает но не обновляются данные в сессии ... можт её обновлять нуна как-то хитро ?
кто чё скажет по сём поводу ?
 

DiMA

php.spb.ru
Команда форума
"муйня" в не прямых руках. Приведи код программы.
 

walker_ag

Новичок
ну можт и в руках ... учитывая что я первый день вчера как пхп ваще начал писать ... вот фаил номер раз ... с формой
<?
if (session_is_registered("ffname") == FALSE) {
session_start();
} else {
echo "ok";
}
?>
<FORM NAME="Mail" ACTION="test.php" METHOD="POST">
<?
if ($error == "fname") {
echo "<span style='color: ff0000;'>Jmeno:</span> ";
} else {
echo "Jmeno: ";
}
?>
<input type="text" name="fname" value="<? echo $ffname ?>"><br>
<?
if ($error == "lname") {
echo "<span style='color: ff0000;'>Prijmeni:</span> ";
} else {
echo "Prijmeni: ";
}
?>
<input type="text" name="lname" value="<? echo $llname ?>"><br>
<?
if ($error == "tel") {
echo "<span style='color: ff0000;'>Telefon:</span> ";
} else {
echo "Telefon: ";
}
?>
<input type="text" name="tel" value="<? echo $ttel ?>"><br>
Fax: <input type="text" name="fax" value="<? echo $ffax ?>"><br>
E-mail: <input type="text" name="cmail" value="<? echo $ccmail ?>"><br>
Velikost reklamy:
<Select name="tfor">
<option value="2x A4">2x A4</option>
<option value="1x A4">1x A4</option>
<option value="1/2 A4">1/2 A4</option>
<option value="1/3 A4">1/3 A4</option>
<option value="1/4 A4">1/4 A4</option>
<option value="1/8 A4">1/8 A4</option>
</select><br>
V kolika cislech:
<Select name="loops">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select><br>
Kometar a pozadavky:
<textarea name="comm" width="50" height="10">
<? echo $ccomm ?>
</textarea><br><br>
<input type="submit" value="Objednat">
</FORM>
</body>
</html>

а вот фаил номер два ...

<?
$ffname=$fname;
$llname=$lname;
$ttel=$tel;
$ffax=$fax;
$ccmail=$cmail;
$ttfor=$tfor;
$lloops=$loops;
$ccomm=$comm;
session_register("ffname", "llname", "ttel", "ffax", "ccmail", "ttfor", "lloops", "ccomm");
if (trim($fname) == "") {
header ("Location: test1.php?error=fname");
} elseif (trim($lname) == "") {
header ("Location: test1.php?error=lname");
} elseif (trim($tel) == "") {
header ("Location: test1.php?error=tel");
} else {
$osoba=$fname . " " . $lname;
$tema="Reklama on-line";
$message="ON-LINE OBJEDNAVKA NA REKLAMU\n\n\nOsoba: $osoba\nTelefon: $tel\nFax: $fax\nE-mail: $cmail\nFormat: $tfor\nV $loops cislech\nKomentar: $comm";
$tomail="[email protected]";
$frommail="From: [email protected]";
mail($tomail, $tema, $message, $frommail);
echo "<HTML>";
echo "<HEAD>";
echo "<TITLE>Objadnavka reklamy</TITLE>";
echo "</HEAD>";
echo "<BODY>";
echo "Vase sprava byla poslana na $tomail<br><br><br>";
echo "Zakaznik: $osoba<br>";
echo "Telefon: $tel<br>";
if (trim($fax) != "") {
echo "Fax: $fax<br>";
}
if (trim($cmail) != "") {
echo "E-mail: $cmail<br>";
}
echo "Format: $tfor<br>";
echo "V $loops cislech<br>";
echo "Komentar: $comm";
echo "</BODY>";
echo "</HTML>";
}
?>
 

DiMA

php.spb.ru
Команда форума
посмотри пример на php.spb.ru
1) обязательно в начале программы до проверок
session_start(); // больше в программе нигде не писать
session_register('x'); // больше в программе нигде не писать
2) проверяем на наличие по любой обязательной переменной:
if (isset($x[telefon])) .... и т.д.
 
Сверху