2017-12-02 211 views
-3

我想知道是否有方法从我网站上的其他页面获取变量。例如,假设我的主页index.php有一个文本框,您可以在其中输入数据,并将其保存为变量。有没有一种方法可以将它转移到新页面,比如newpage.php,它需要这些数据?非常感谢帮助我。要求页面中的变量PHP

P.S.是的,我知道你可以使用数据库,但这不是我目前的想法。我想知道是否有没有数据库的方式。

+0

我不明白你想做什么。我怀疑你对Web应用程序的工作方式有些疑虑。你可以定义你想要完成的分步方案吗?用户如何与您的网站进行互动,以及您想要做什么以及在该互动中您尝试做什么? – David

回答

0

好吧,我想我明白你的意思,并有2个答案。 假设您的第一页index.php有一个textbox,并且您想要将其中的数据传输到新页面newpage.php

第一种方式是使用

<form action="/newpage.php" method="GET"> 
    <input type='text' name='myText' /> //name is important make sure it is there 
<input type='submit' /> 
    </form> 

而且在你的PHP你必须做一些事情,如:

$_GET['myText'] 

,并在您的代码或逻辑是这样的数据库查询由你决定。

第二种方式是有点“棘手”。它需要javascript/jquery ajax,当然还有php。

因此,让我们再一次说,你有一个像

<input type='text' name='myText' id='myText' /> 

您可以使用jQuery或JavaScript使用它的一个属性(最常见的方式来获得该文本框中的值的文本框一个id,这就是为什么它对于每个DOM元素必须始终是唯一的)。

因此,你需要告诉你的代码做到这一点。最常用的方法是点击按钮。所以我们也需要一个按钮。

<button id='sendData'> Click Me!!! </button> 

好差不多了,元素已就绪,但我们需要确保单击时按钮被触发。

在jQuery的/ JavaScript的,你需要一个功能onClick类似的东西:

$("#sendData").click(function() { 
    //get the value of the text you want 
    // small hint search for .val() function 
}); 

之后,你应该有一个变量让我们命名它data值。 在这里,使用console.log('data')来查看是否一切顺利是正确的。如果在控制台中一切正常,你应该可以看到你的文本框的数据。

现在ajax。 Ajax调用是前端和后端之间的连接。你的阿贾克斯应该看起来像这样:

$.ajax({ 
    method: "POST", 
    url: "newpage.php", 
    dataType: json, 
    data: { data: data } 
}).done(function() { 
    console.log('all worked fine'); 
}); 

2件事情要注意这里。您发送数据的php页面必须位于您收到数据的同一页面中,否则请使用绝对路径确保它能正常工作。 dataType取决于您阅读有关ajax数据类型的内容,并且通常针对ajax调用(如果使用这种方式)。在你的PHP source for ajax

然后根据你使用你要么$_GET['data']$_POST['data']

的方法我试过,因为我可以是作为分析。如果你问我,第一种方式更容易,但第二种方式更好。但两者都可以完成工作。第一个骗局是页面刷新提交。祝你的项目好运。

+0

我所有的解决方案都是基于php的。第一个是坚实的PHP/HTML,第二个是包括JavaScript也。你的选择!!! – pr1nc3

+0

是的,它让我等待 – WillNyeTheWebsiteGuy