我使用javascript通过URL传递了参数。这是代码:
<script>
window.onload = function() {
// Creating a cookie after the document is ready
var cookies = document.cookie.split(";")
var cookiePair = cookies[0].split("=");
var cookie_user=cookiePair[1]; // remove ending parenthesis here
window.location.replace("http://192.168.206.1/foodblog/?page=http://192.168.206.1/test/ChangeInfo.php&username="+cookie_user);
};
</script>
接收该参数的页面称为ChangeInfo这是我进入ChangeInfo页面时在URL中看到的内容:http://192.168.206.1/foodblog/?page=http://192.168.206.1/test/ChangeInfo.php&username=nitzan
[当我尝试从URL获取参数用户名时,出现此错误:注意:未定义的索引:第5行的C:\ xampp \ htdocs \ test \ ChangeInfo.php中的用户名
我试图获取此参数的方法是像这样使用$ _GET:$ username = $ _GET ['username'];
有人知道为什么这会给我带来麻烦吗?在此先感谢
忽略javascript部分,需要专注于PHP。
您在此页面上:http://192.168.206.1/foodblog/?page=http://192.168.206.1/test/ChangeInfo.php&username=nitzan
并且当您使用$ _GET ['username']时,您得到错误,它没有被分配。您的$ _GET似乎根本无法工作,可能是Apache设置。
而且,首先通过isset获取GET参数更安全。
if(isset($_GET['username']) && $_GET['username']] {
$username = $_GET['username'];
}
else {
$username = '';
}
然后您可以进行比较,如果您的PHP代码中是否设置了用户名:
if($username) {
//Do something
}
最终思想。您的第一个参数页面= http://192.168.206.1/test/ChangeInfo.php是否正常工作?您可以通过$ _GET获取它吗?
问题似乎只是您通过$ _GET设置并获取url参数的方式。如果使用某些框架,则可能无法直接使用$ _GET,例如在Symfony中,您需要使用:
$request->get('username');
我只是解决问题
我从我在JavaScript部分中创建的URL中删除了Page参数。这是更新的Javascript部分:
<script>
window.onload = function() {
// Creating a cookie after the document is ready
var cookies = document.cookie.split(";")
var cookiePair = cookies[0].split("=");
var cookie_user=cookiePair[1]; // remove ending parenthesis here
window.location.replace("http://192.168.206.1/test/ChangeInfo.php?username="+cookie_user);
};
</script>
谢谢:)