PHP不输出数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP不输出数组相关的知识,希望对你有一定的参考价值。

所以我想尝试一些后端样式代码,而ive则用php弄乱了一些。我编写了一个简单的程序(使用html和php),要求用户创建一个帐户,然后将存储这些用户名和密码。

我在底部添加了一个功能,询问用户是否要显示特定的用户名(un)和密码(pw)。但是,当我输入一些随机的un和pw并键入1(因此程序应输出un 1和pw 1)时,它将无法工作...

非常感谢您的帮助!

<html>
  <body>
    <style>
      input 
        font-family: 'Trebuchet MS'
      
      form 
        font-family: 'Trebuchet MS'
      
      body 
        background-color: lightblue

      
      h1 
        font-family: 'Trebuchet MS'

      
    </style>
    <h1 id = "signup_here">Signup here!</h1>
    <form action = "[the website uses my real name, so im not including it]" method = "get">
      Your Username: <input type = "text" name = "username">
      <br/>
      Your Password: <input type = "text" name = "password">
      <input type = "submit">
    </form>
    <br/>
    <?PHP
      $username = $_GET["username"];
      $password = $_GET["password"];
      if(!is_null($username) and !is_null($password))
        echo "<h3>Your username is [$username] and your password is [$password]";
      
    ?>
    <form method = "post">
      Please confirm: <input type = "checkbox" name = "up_conf" value = "val1">
      <input type = "submit">
    </form>
    <?PHP
      if(isset($_POST["up_conf"])) 
        echo "<h3>Thanks for signing up!</h3>";
      
    ?>
    <?PHP
      if(isset($_POST["up_conf"])) 
        $allusernames = array($_GET["username"]);
        $allpasswords = array($_GET["password"]);
      
    ?>
    <form action = "https://PhP-Playground.saatvikrk.repl.co" method = "get">
      Get usernames and passwords? 1/2/3/etc.: <input type = "text" name = "gaup">
      <?PHP
        if(!is_null($_GET["gaup"])) 
          echo "Username:" . $allusernames[$_GET["gaup"]];
          echo "Password:" . $allpassword[$_GET["gaup"]];
        
      ?>
    </form>
  </body>
</html>
答案

我认为您在这里有很多事情要做,您可能需要简化它们才能找到特定问题的根源。

一些基本的事情:

  1. 您不需要完整的URL作为<form>的操作参数-您可以(通常应该)使用相对URL。例如。 <form action="/some-page" method="post">-这样您就无需审查URL。

  2. 调试表单时,坚持使用一种表单至页面-这将有助于避免$_GET$_POST]之间的混淆。

  3. 一种有用的调试策略是使用print_r()显示变量的全部内容。可以将其与HTML的<pre>标记结合使用,以提高可读性,例如

  4. <pre>
    <?php
       print_r($_POST);
    ?>
    </pre>
    
  1. 不要使用<?PHP-而是坚持使用小写<?php-我知道在使用大写字母时,PHP允许一些非常草率的粗心大意,但是我知道我曾经在使用以短代码之类的东西不会运行的方式进行配置。

  2. 不要使用get提交登录表单-请使用post

  3. 希望能帮助您了解数据的去向。

以上是关于PHP不输出数组的主要内容,如果未能解决你的问题,请参考以下文章

冒号分隔的输出php数组

PHP-day4

PHP 如何循环输出数组 并且调用

php怎么输出json数组?

php foreach输出数组只输出元素的第一个字符

如何统计php数组值的和?