PHP将用户输入放在文件中

时间:2016-04-07 23:29:42

标签: php html

我有这种注册表格不会像你想象的那样工作。

所有这一切都将电子邮件和密码写入文件中,并且不会再次使用,只是存储。

代码无效,有人帮帮我吗?

字面上没有任何东西出现在他的文件中,虽然它确实生成了文件。

的index.html:

<!DOCTYPE html>
<html >
  <head>
    <meta charset="UTF-8">
    <title>Earn and Learn</title>
    <link rel="stylesheet" href="css/style.css">
  </head>
  <body>
    <div class="login-wrap">
      <div class="form">

        <form method="post" action="email.php">
          <h2>Create Account</h2>
          <input name="email" placeholder="Email" type="text" required autocomplete="off"/>
          <input type="password" placeholder="Password" name="password" />
          <button type="submit"> Sign Up </button>
        </form>

      </div>
    </div>
    <script src='https://code.jquery.com/jquery-1.10.0.min.js'></script>
    <script src="js/index.js"></script>
  </body>
</html>

Email.php:

<?php
  $text=$_POST["email"];
  $var_str = var_export($text, true);
  $var = "$text = $var_str";
  file_put_contents('filename.txt', "\nEmail:" '$text',FILE_APPEND);
?>

3 个答案:

答案 0 :(得分:6)

试一试:

<?php
  $text = $_POST["email"];
  file_put_contents('filename.txt',"\nEmail: {$text}",FILE_APPEND);
?>

file_put_contents()的第二个参数看起来像是两个单独的字符串而不是一个,你可以将$text变量放在单个字符串中,如果你使用双引号字符串。

答案 1 :(得分:1)

你的函数调用有错:

file_put_contents('filename.txt', "\nEmail:" '$text',FILE_APPEND);
                                  ^^^^^^^^^^^^^^^^^^

我建议您启用警告和错误,因为这甚至不会 编译。会抛出一个解析错误。你不能分开两个字符串 通过空白。如果要连接字符串,请使用.。然而, 请注意,要在字符串中插入变量值,您需要加倍 引号。所以,这里有一些可能的解决方案:

  • "\nEmail:" . $text
  • "\nEmail: $text"

使用字符串连接,另一个例子,您也可以简化 这样:

$text=$_POST["email"];
$var_str = var_export($text, true);
$var = "$text = $var_str";

对此:

$var = $_POST['email'] . '=' . var_export($_POST['email'], true);

答案 2 :(得分:0)

$email = $_POST["email"];

$content = "Email: ".$email."\r\n".
           "line 2\r\n".
           "line 3\r\n".
           "line 4\r\n"; 

#creating new file
   $myfile = fopen($_SERVER['DOCUMENT_ROOT']."/folderpath/filename.txt","wb");
   fwrite($myfile, $content);
   fclose($myfile);

#append to file
   $myfile = fopen($_SERVER['DOCUMENT_ROOT']."/folderpath/filename.txt", "a") or die("Unable to open file!");
   fwrite($myfile, "\n".$content);
   fclose($myfile);