Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要了解PHP的基础知识吗_Php_Html - Fatal编程技术网

需要了解PHP的基础知识吗

需要了解PHP的基础知识吗,php,html,Php,Html,我已经在W3Schools和其他学校学习了一些HTML和PHP教程,但我需要了解一些东西是如何工作的。我正在尝试使用PHP通过URL将值从第1页传输到第2页。虽然我对如何使用HTML有一些想法 第1页: <form method="post" action="page2.php"> FIRST NAME <input type="text" name="fname"><br> LAST NAME <input type="text" name="l

我已经在W3Schools和其他学校学习了一些HTML和PHP教程,但我需要了解一些东西是如何工作的。我正在尝试使用PHP通过URL将值从第1页传输到第2页。虽然我对如何使用HTML有一些想法

第1页:

<form method="post" action="page2.php">
FIRST NAME  <input type="text" name="fname"><br>
LAST NAME   <input type="text" name="lname"><br>
            <input type="submit" name="sub" value="sub">
</form>
第2页:

<?php
$fname=$_POST['fname'];
$lname=$_POST['lname'];
echo $fname."-".$lname;
?>
我只想使用PHP来传输值,我计划在不使用表单的情况下使用标记,但我确信这不是正确的方法,因为我将无法获取第2页上的值。请有人帮我弄清楚这些基础知识

<?php
$name="hello world";
echo '<a href="page2.php?name='.$name.'"><input type="button name="sub" value="submit"></a>';
?>

你是在倒退。POST数据位于请求主体中,而不是URL中。获取URL中的数据

如果要在URL中包含数据,请将表单标记更改为:

<form method="get" action="page2.php">
以及page2.php代码,以:

<?php
$fname = $_GET['fname'];
$lname = $_GET['lname'];
echo $fname . "-" . $lname;
?>

请注意,这有许多漏洞,例如,而不是您应该如何做这些事情。

您必须使用“GET”。因此,您的数据通过Append传递到URL

第1页

第2页


但我在W3学校读到,如果我想保证数据的安全,我必须使用post而不是get方法。除非使用HTTPS加密,否则通过互联网传输的任何数据都不可能是安全的。但是GET参数是URL的一部分,例如,它与通常记录的POST具有不同的公开性。它们都可以在$_请求下使用,因此如果您希望能够提供包含参数的URL并处理来自表单的POST请求,这是一个选项。根据我的经验,这很少是必要的。不要忘记,您也可以使用PHP$\会话来存储数据,这些数据将通过cookie自动关联到站点用户,而无需来回传递。@DanFarrell谢谢,我问这个问题可能看起来很愚蠢,但是否可以不使用表单而仍将数据发送到其他页面?我知道$_会话,但我需要澄清一点,如果我们可以在不使用表单或$_会话的情况下将变量发送到另一个页面?@Im786是的,使用AJAX或web套接字,但即使没有会话标识符也很难做到这一点。如果您不想使用大量JavaScript,那么您唯一的选择就是表单、会话或带有嵌入参数的链接。很难从你的问题中准确地说出你想要做什么,但是使用表单几乎肯定是你开始的最佳方式。其他的选择大多更难正确。@DanFarrell我认为它已经变得更好了,但它曾经有很多无效的代码,不仅仅是非生产代码和完全不正确的信息。我大概在15年前就开始使用它了,它是出了名的不可靠。在过去的十年中,我几次回到这里,感觉好多了。在输出用户输入时要小心。@mickmackusa我在问我是否可以在PHP中使用一个变量,将其固定到url中,然后不使用表单将其发送到另一个页面。我想,这不是一个重复的问题。@lawrencerone你能推荐一些教程,让我们更清楚地了解如何以正确的方式做事情吗?你的意思是:我计划使用标签而不使用表单。什么标签?@不太可能播主播标签
<form method="GET" action="page2.php"> 
    FIRST NAME <input type="text" name="fname"><br> 
    LAST NAME <input type="text" name="lname"><br> 
    <input type="submit" name="sub" value="sub"> 
</form>
<?php $fname=$_GET['fname']; $lname=$_GET['lname']; echo $fname."-".$lname; ?>