首页 > 解决方案 > 如何将 \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&#39; 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&#39;s economy. 
It&#39;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>

非常感谢!

标签: php

解决方案


你可以这样做:

   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';        
    }

推荐阅读