php - 如何将 \n 值更改为 X 之类的值
问题描述
我有一个家庭作业网页。学生填写方框,然后单击发送以发送表格。我的 phpthankyou 文件得到答案并发送到我的电子邮件。我下载电子邮件并使用 Python 使用 readlines() 逐行检查每个答案是否正确。
今天早上我注意到,一个学生错过了第一部分,1 到 5 '从表中选择正确的单词'。他们应该在每个文本框 G1 到 G5 中输入一个字母 A 到 E。然后 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'];
我想在 php 中做的事情是:
for i in range(1, 6):
answer = $q + str(i)
if answer = '':
answer = 'X'
但那将是Python。在 php 中执行此操作的正确方法是什么?
我认为这应该在收集 php 脚本中的所有 $qs 之后,但在制作电子邮件正文之前完成:
$body = "
Studentnr = ".$studentnr."
".$q1."
".$q2."
".$q3."
".$q4."
".$q5."
";
非常感谢任何提示!
编辑:这是一个实际的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");
?>
请问还有什么技巧吗?
再次编辑:通常,我得到的答案是好的。我只是想纠正一个空洞的答案。如果一个学生没有填写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>
非常感谢!
解决方案
你可以这样做:
for($i=1; $i <= 5; $i++) {
$answer= ${'q' . $i};
if($answer=='') $answer='X';
}
编辑:如果你只需要更新值,你可以这样做,
for($i=1; $i <= 5; $i++) {
if(${'q' . $i}=='') ${'q' . $i}='X';
}
推荐阅读
- node.js - 有没有办法在 CPANEL 中为节点进程获取控制台输出?
- javascript - 在 JavaScript 中对数组更新/创建运行自定义方法
- sql - SQL:如何加速 PostgreSQL 中的视图?我的查询需要 +2 秒,即使对于低记录数的数据库也是如此
- wpf - Button的默认样式是什么?
- python - 无法将字符串转换为字节
- python - 截取不同名称的屏幕截图功能
- python - 达到某些值时,Dataframe 会删除重复项
- c# - gRPC IFeatureCollection 已被释放。对象名称:“收藏”
- python - 使用 BFS 查找从开始到结束节点的所有路径
- powerbi - 如何对 PowerBI 的 TopN DAX 函数进行排序