我有一个家庭作业的网页.学生填写框,然后单击发送以发送表单.我的php thankyou文件获取答案并发送到我的电子邮件.我下载电子邮件并使用Python根据正确答案检查每个答案,使用readlines()换行.
今天早上我注意到,一名学生错过了第一部分,1比5'从表中选择了正确的单词.他们应该在每个文本框中输入字母A到E,G1到G5.然后由php发送的电子邮件包含5个空行,\n,答案应该是.
因为学生经常在陌生的地方输入,所以我运行了一个Python脚本,以便在下载后删除电子邮件中的空行.
因此,在发送电子邮件之前,如果文本框为空,我想让php说出X.
thankyou.php的第一部分如下所示:
//should mail the contact form
<?php
$studentnr = $_POST['sn'];
$q1 = $_POST['G1'];
$q2 = $_POST['G2'];
$q3 = $_POST['G3'];
$q4 = $_POST['G4'];
$q5 = $_POST['G5'];
Run Code Online (Sandbox Code Playgroud)
我想在php中做的事情是这样的:
for i in range(1, 6):
answer = $q + str(i)
if answer = '':
answer = 'X'
Run Code Online (Sandbox Code Playgroud)
但那将是Python.在php中执行此操作的正确方法是什么?
我认为这应该在收集PHP脚本中的所有$ qs后完成,但在制作电子邮件正文之前:
$body = "
Studentnr = ".$studentnr."
".$q1."
".$q2."
".$q3."
".$q4."
".$q5."
";
Run Code Online (Sandbox Code Playgroud)
非常感谢任何提示!
编辑:这是一个实际的thankyou.php,循环改为''为X,但我现在在电子邮件中得到的是:Studentnr = 1725010999,没有别的.如何调整这个?我刚刚输入了学生编号并将所有其他框留空了,所以我期待很多X. 我在网页主机上的php目录的错误日志中没有出现任何错误.也许是; 在哪里失踪?
//should mail the contact form
<?php
$studentnr = $_POST['sn'];
$q1 = $_POST['G1'];
$q2 = $_POST['G2'];
$q3 = $_POST['G3'];
$q4 = $_POST['G4'];
$q5 = $_POST['G5'];
$q6 = $_POST['G6'];
$q7 = $_POST['G7'];
$q8 = $_POST['G8'];
$q9 = $_POST['G9'];
$q10 = $_POST['G10'];
$q11 = $_POST['G11'];
$q12 = $_POST['G12'];
$q13 = $_POST['G13'];
$q14 = $_POST['G14'];
$q15 = $_POST['G15'];
$q16 = $_POST['G16'];
$q17 = $_POST['G17'];
$q18 = $_POST['G18'];
for ($i=1; $i <= 18; $i++) {
if (${"q$i"} == '') ${"q$i"} = 'X';
}
$body = "
Studentnr = ".$studentnr."
".$q1."
".$q2."
".$q3."
".$q4."
".$q5."
".$q6."
".$q7."
".$q8."
".$q9."
".$q10."
".$q11."
".$q12."
".$q13."
".$q14."
".$q15."
".$q16."
".$q17."
".$q18."
";
$to1 = "myemail@foxmail.com";
$subject = $studentnr . "sWeek1";
$headers = "From: peter@mypage.com\r\n";
$headers .= 'Content-Type: text/plain; charset=utf-8';
mail($to1, $subject, $body, $headers);
header("Location: email_success.php");
?>
Run Code Online (Sandbox Code Playgroud)
还有其他提示吗?
再次编辑:通常情况下,我得到答案.我只是想纠正一个空洞的答案.如果学生没有填写1个框,并且我删除空行,则空行后的所有答案都是错误的顺序,因此分数非常糟糕.我将回到Q1 =".$ q1." Q2 =".$ q2." 在身体部分,如果我不能让他的工作.至少我有一条线!
这是我的html段落.如果您发现任何错误,请告诉我.我用Python的文本文件生成这个.
<p>
<b> World Recession </b> <br>
W: Now people are talking about <INPUT TYPE="Text" NAME="G1" size="15">, which started more than a year ago. Can you give us your personal understanding of the situation of the global economy? <br>
M: As you know, we are in a very special time. This is a very hard time for many countries' economies, both <INPUT TYPE="Text" NAME="G2" size="24">. <br>
W: What challenges is our economy facing at the moment? <br>
M: We do face a lot of challenges because there is still much uncertainty about the world's economy.
It's very important for us to strike a <INPUT TYPE="Text" NAME="G3" size="14"> between investment in <INPUT TYPE="Text" NAME="G4" size="14"> and household consumption. <br>
</p>
Run Code Online (Sandbox Code Playgroud)
非常感谢!
你可以这样做:
for($i=1; $i <= 5; $i++) {
$answer= ${'q' . $i};
if($answer=='') $answer='X';
}
Run Code Online (Sandbox Code Playgroud)
编辑:如果您只需要更新值,您可以这样做,
for($i=1; $i <= 5; $i++) {
if(${'q' . $i}=='') ${'q' . $i}='X';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |