2013-06-30 43 views
2

这里是我的代码:如何获得一个文本框的值在同一页上的PHP

<form action="" method="get" > 
    <input type="text" name="un"> 
    <input type="password" name="un2" /> 
    <input type="submit" value="submit" name="submit" /> 
</form> 

<?php 
    $users1 = $_GET["un"]; 
    $id  = $_GET["un2"]; 
    echo $users1; 
?> 

我无法通过这种方式

错误显示它:

Notice: Undefined index: un in C:\wamp\www\vas1\register1.php on line 31 

line 31:

$users1 = $_GET["un"]; 
+1

的$ _GET只设定,当您提交页面,除非页面提交你不会得到表单元素的内容。你也有方法作为发布,这意味着你需要$ _POST而不是$ _GET –

+0

请注意,有些工具比如Firefox的Firebug扩展,在开发这些东西的时候非常宝贵。 – Strawberry

回答

3

I这只是一个通知。你需要检查,如果被提交的表单:

if(!empty($_POST)) { 
    $users1 = $_POST['un']; 
    echo $users1; 
} 

你不能使用get使用,因为您的形式使用post

<form action="" method="post"> 
+1

实际上我想显示在同一个网页上的值,所以我已经在表单方法中更改“发布”“获取”但仍然不显示值 –

+0

如果您更改发布以获取表单确保'$ _POST ['un ']'更改为'$ _GET ['un']'并将'!empty($ _ POST)'改为'!empty($ _ GET ['un'])' – SeanWM

2

您发送POST请求

​​3210

然后您在获取请求中获取参数

$users1 = $_GET["un"]; 

你做错..do这

$users = $_POST["un"]; 
+0

实际上我想在同一网页上显示数值我已经改变“帖子”的形式方法“获得”,但仍然不显示的价值 –

+0

@MaryamButt你仍然需要帮助吗?或者你有我们的解决方案 – hellosheikh

+0

是啊得到​​了解决方案 –

2

你在你的代码有几个问题。

首先,在第一页加载textarea尚未提交,因此请求数据将为空白。你需要一个isset()来测试它。

其次,当您的表单使用POST时,您的PHP使用$_GET,因此您需要更改这些值。

全部放在一起:

<form action="" method="post" > 
    <input type="text" name="un"> 
    <input type="password" name="un2" /> 
    <input type="submit" value="submit" name="submit" /> 
</form> 

<?php 
    if (isset($_POST['un'])) { 
     $users1 = $_POST["un"]; 
     $id = $_POST["un2"]; 

     echo $users1; 
    } 
?> 
+0

实际上,我想显示在同一网页上的值,所以我已经改变“后”形式方法“获得”,但仍然不显示值 –

相关问题