我有两个以下的PHP脚本。 这个从表单中获取数据并与它们一起使用。会话设置在脚本的底部。
<!DOCTYPE html>
<HTML>
<HEAD>
<META name="author" content="Bc. Michal Vlasák">
<META name="generator" content="Notepad++">
<META charset="UTF-8">
<LINK rel="stylesheet" type="text/css" href="styles.css">
<TITLE>Objednávkový formulář</TITLE>
</HEAD>
<BODY>
<?php
session_unset();
session_start();
if(isset($_POST['confirm'])){
$org = $_POST['organization'];
$street = $_POST['street'];
$city = $_POST['city'];
$email = $_POST['email'];
$org_nmr = $_POST['org_number'];
$org2 = $_POST['organization2'];
$street2 = $_POST['street2'];
$city2 = $_POST['city2'];
$goods1_prop1 = $_POST['goods1_prop1'];
$goods1_prop2 = $_POST['goods1_prop2'];
$goods1_prop3 = $_POST['goods1_prop3'];
$goods1_prop4 = $_POST['goods1_prop4'];
$goods2_prop1 = $_POST['goods2_prop1'];
$goods2_prop2 = $_POST['goods2_prop2'];
$goods2_prop3 = $_POST['goods2_prop3'];
$goods2_prop4 = $_POST['goods2_prop4'];
$goods3_prop1 = $_POST['goods3_prop1'];
$goods3_prop2 = $_POST['goods3_prop2'];
$goods3_prop3 = $_POST['goods3_prop3'];
$goods3_prop4 = $_POST['goods3_prop4'];
$goods4_prop1 = $_POST['goods4_prop1'];
$goods4_prop2 = $_POST['goods4_prop2'];
$goods4_prop3 = $_POST['goods4_prop3'];
$goods4_prop4 = $_POST['goods4_prop4'];
$goods5_prop1 = $_POST['goods5_prop1'];
$goods5_prop2 = $_POST['goods5_prop2'];
$goods5_prop3 = $_POST['goods5_prop3'];
$goods5_prop4 = $_POST['goods5_prop4'];
$goods6_prop1 = $_POST['goods6_prop1'];
$goods6_prop2 = $_POST['goods6_prop2'];
$goods6_prop3 = $_POST['goods6_prop3'];
$goods6_prop4 = $_POST['goods6_prop4'];
$goods7_prop1 = $_POST['goods7_prop1'];
$goods7_prop2 = $_POST['goods7_prop2'];
$goods7_prop3 = $_POST['goods7_prop3'];
$goods7_prop4 = $_POST['goods7_prop4'];
$goods8_prop1 = $_POST['goods8_prop1'];
$goods8_prop2 = $_POST['goods8_prop2'];
$goods8_prop3 = $_POST['goods8_prop3'];
$goods8_prop4 = $_POST['goods8_prop4'];
$goods9_prop1 = $_POST['goods9_prop1'];
$goods9_prop2 = $_POST['goods9_prop2'];
$goods9_prop3 = $_POST['goods9_prop3'];
$goods9_prop4 = $_POST['goods9_prop4'];
$goods10_prop1 = $_POST['goods10_prop1'];
$goods10_prop2 = $_POST['goods10_prop2'];
$goods10_prop3 = $_POST['goods10_prop3'];
$goods10_prop4 = $_POST['goods10_prop4'];
if((empty($org)) && (empty($street)) && (empty($city)) && (!ereg("^.+@.+\\..+$", $email)) && (empty($org_nmr))){
echo '<P class="error">Chyba: Nezadal(a) jste žádné povinné údaje!</P>';
}
if(empty($org)){
echo '<P class="error">Chyba: Nezadal(a) jste název organizace!</P>';
}
if(empty($street)){
echo '<P class="error">Chyba: Nezadal(a) jste název ulice!</P>';
}
if(empty($city)){
echo '<P class="error">Chyba: Nezadal(a) jste PSČ a město!</P>';
}
if(!ereg("^.+@.+\\..+$", $email)){
echo '<P class="error">Chyba: Nezadal(a) jste Váš e-mail nebo je v nesprávném formátu!</P>';
}
if(empty($org_nmr)){
echo '<P class="error">Chyba: Nezadal(a) jste IČ organizace!</P>';
}
if((empty($goods1_prop4)) && (empty($goods2_prop4)) && (empty($goods3_prop4)) && (empty($goods4_prop4)) && (empty($goods5_prop4)) && (empty($goods6_prop4)) && (empty($goods7_prop4)) && (empty($goods8_prop4)) && (empty($goods9_prop4)) && (empty($goods10_prop4))){
echo '<P class="error">Bohužel jste si u nás nic neobjednal(a).</P>';
}
else{
$result = '<TABLE><TR><TD class="goods_title">Fakturační adresa</TD></TR><TR><TD class="cells">'.$org.'</TD></TR><TR><TD class="cells">'.$street.'</TD></TR><TR><TD class="cells">'.$city.'</TD></TR><TR><TD class="cells">'.$email.'</TD></TR><TR><TD class="cells">IČ: '.$org_nmr.'</TD></TR></TABLE>';
if((!empty($org2)) || (!empty($street2)) || (!empty($city2))){
$result .= '<BR /><TABLE><TR><TD class="goods_title">Dodací adresa</TD></TR><TR><TD class="cells">'.$org2.'</TD></TR><TR><TD class="cells">'.$street2.'</TD></TR><TR><TD class="cells">'.$city2.'</TD></TR></TABLE>';
}
$result .= '<BR /><TABLE class="order_result"><TR><TD class="order_result_title">Kód a název zboží</TD><TD class="order_result_title">Popis</TD><TD class="order_result_title" style="padding-right: 20px;">Balení</TD></TR>';
if(!empty($goods1_prop4)){
$result .= '<TR><TD class="order_result">'.$goods1_prop1.'</TD><TD class="order_result">'.$goods1_prop2.', '.$goods1_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods1_prop4.' ks</TD></TR>';
}
if(!empty($goods2_prop4)){
$result .= '<TR><TD class="order_result">'.$goods2_prop1.'</TD><TD class="order_result">'.$goods2_prop2.', '.$goods2_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods2_prop4.' ks</TD></TR>';
}
if(!empty($goods3_prop4)){
$result .= '<TR><TD class="order_result">'.$goods3_prop1.'</TD><TD class="order_result">'.$goods3_prop2.', '.$goods3_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods3_prop4.' ks</TD></TR>';
}
if(!empty($goods4_prop4)){
$result .= '<TR><TD class="order_result">'.$goods4_prop1.'</TD><TD class="order_result">'.$goods4_prop2.', '.$goods4_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods4_prop4.' ks</TD></TR>';
}
if(!empty($goods5_prop4)){
$result .= '<TR><TD class="order_result">'.$goods5_prop1.'</TD><TD class="order_result">'.$goods5_prop2.', '.$goods5_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods5_prop4.' ks</TD></TR>';
}
if(!empty($goods6_prop4)){
$result .= '<TR><TD class="order_result">'.$goods6_prop1.'</TD><TD class="order_result">'.$goods6_prop2.', '.$goods6_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods6_prop4.' ks</TD></TR>';
}
if(!empty($goods7_prop4)){
$result .= '<TR><TD class="order_result">'.$goods7_prop1.'</TD><TD class="order_result">'.$goods7_prop2.', '.$goods7_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods7_prop4.' ks</TD></TR>';
}
if(!empty($goods8_prop4)){
$result .= '<TR><TD class="order_result">'.$goods8_prop1.'</TD><TD class="order_result">'.$goods8_prop2.', '.$goods8_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods8_prop4.' ks</TD></TR>';
}
if(!empty($goods9_prop4)){
$result .= '<TR><TD class="order_result">'.$goods9_prop1.'</TD><TD class="order_result">'.$goods9_prop2.', '.$goods9_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods9_prop4.' ks</TD></TR>';
}
if(!empty($goods10_prop4)){
$result .= '<TR><TD class="order_result">'.$goods10_prop1.'</TD><TD class="order_result">'.$goods10_prop2.', '.$goods10_prop3.'</TD><TD class="order_result" style="padding-right: 20px; text-align: right;">'.$goods10_prop4.' ks</TD></TR>';
}
$result .= '</TABLE>';
echo $result;
echo '<P class="caption">Potvrzuji správnost všech údajů a závazně objednávám výše uvedené zboží.</P>';
echo '<FORM method="post" action="send.php"><INPUT type="submit" name="send" value="Objednat"></FORM>';
$_SESSION['email'] = $email;
$_SESSION['result'] = $result;
}
}
?>
</BODY>
</HTML>
第二个从上面的脚本中获取数据。
<?php
session_start;
if(!empty($_POST['send'])){
$email = $_SESSION['email'];
$result = $_SESSION['result'];
if(empty($_SESSION['email'])){
die("Session email není nastaveno, ukončuji skript.");
}
if(empty($_SESSION['result'])){
die("Session result není nastaveno, ukončuji skript.");
}
echo 'Ahoj';
}
?>
会话'结果'死了。为什么呢?
感谢。
答案 0 :(得分:0)
您的代码存在一些问题。
我可以通过if(isset($_POST['confirm']))
告诉您,我正在检查是否设置了名为named element
的{{1}}表单(confirm
),该表单不在您发布的内容中代码,以便不执行。
(如果你有另一段代码没有显示与isset
相关,我希望看到它。)
我唯一可以说的是,您可能尝试使用提交按钮作为confirm
,其名称为isset
而不是send
。
confirm
另外,你犯了一个错字(?)(我希望不是)。
您目前有<INPUT type="submit" name="send" value="Objednat">
,应该是session_start;
您忘记了括号session_start();
()
另外,将HTML放在PHP下面。正如John Conde在his comment
中所述:
“ <?php
session_start();
if(!empty($_POST['send'])){
$email = $_SESSION['email'];
$result = $_SESSION['result'];
if(empty($_SESSION['email'])){
die("Session email není nastaveno, ukončuji skript.");
}
if(empty($_SESSION['result'])){
die("Session result není nastaveno, ukončuji skript.");
}
echo 'Ahoj';
}
?>
必须放在HTML页面顶部”
N.B。:我将这些重新定位在顶部,而不是位于底部:
session_start()
$_SESSION['email'] = $email;
$_SESSION['result'] = $result;