PHP如何不用表单进行POST传递

例如登陆失败返回页面login.php,如果是GET的话就是login.php?login=fall然后用IF
这样很难看,如何用POST传递?或者其他方法?
就是
<?php if($_GET['login'=="fall"]){?>
<a>登陆失败</a>
<?php }|?>

如何用POST传递值?或者其他方法?

(1)
通过onClick="location='html/zhuce.php';
可以点按钮后直接进入另一个页,这样就可以不用form来跳转到另一个页了,也省了一个判断语句来判断点的哪个按钮来进哪个页面.如:
<input type="submit" name="Submit" value="登录"/>
<input name="Submit" type="button" id="Submit" value="注册" onClick="location='html/zhuce.php';"/>
这里的按钮的类型submit和button的区别:
button在没有外加程序的情况下不能向服务器或者其他页面提交数据(表单内容)
但点击submit就可以
submit直接提交form的内容,button不行,button必须写onclick函数完成提交。
type=button 就单纯是按钮功能
type=submit 是发送表单
但是对于从事WEB UI的人应该要注意到,使用submit来提高页面易用性:
使用submit后,页面支持键盘enter键操作,而很多WEB软件设计师,可能没有注意到submit统一用button后往往页面不支持enter键了。所以需要支持enter键,必须要设置个submit,默认enter键对页面第一个submit进行操作。
(2)<A onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('设为首页的网址');return(false);"href="设置后转向哪个页">设为首页</A>
<A onclick=window.external.AddFavorite(document.location.href,document.title) href="收藏的网址">加入收藏夹</A>
(3)
location.href='../index.php'
这里是转向上一级目录index.php文件的意思注意 ../
(4)
1>$sql="select * from dlzc username='".$username."',password='".$password."'";
2>$result=mysql_query($sql);
3>$num=mysql_num_rows($result);
4>$rs=mysql_fetch_array($result);
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-15
在用户名 密码验证页面,
<?php
///
///
///

if ( /*用户名密码验证失败*/ )
{
?>
<form id="form1" name="form1" method="post" action="login.php">
<input name="login" type="hidden" id="login" value="fall" />
</form>
<script language="JavaScript" type="text/javascript">
document.getElementById("form1").submit();
</script>
<?php
exit();
//表单自动post提交
}
?>

方法二
<?php
session_start();
///
///
///

if ( /*用户名密码验证失败*/ )
{
$_SESSION['login'] = 'fall';
header('location:login.php');
exit();
}
?>
在login.php
<?php
session_start();
if ($_SESSION['login'] == 'fall' )
{
echo '<a>登陆失败</a>';
$_SESSION['login'] = '';
}
?>
方法三:
<?php
if ( /*用户名密码验证失败*/ )
{
setcookie("login","fall",time()+7200,"/");
header('location:login.php');
exit();
}
?>
在login.php
<?php
if ($_COOKIE['login'] == 'fall' )
{
echo '<a>登陆失败</a>';
$_SESSION['login'] = '';
}
?>本回答被网友采纳
第2个回答  2015-12-15
不想使用post传递也可以,可以使用get传递,使用get传递相对来说不安全
第3个回答  2011-09-14
你把登陆信息存放在session中,在login文件里判断$_SESSION("??")是否等于成功登录的判断值,如果不是就显示<a>登录失败</a>追问

这样涉及到删除session问题,不然刷新以后还会显示登录失败...

追答

楼下已经有答案了
不存在什么删除Session问题,唯一就是Session过期失效要注意一下而已

第4个回答  2011-09-15
干嘛搞那么复杂, 显示表单和判断登入信息都用login.php不就行了吗?

请问,不使用表单怎样实现用post方法传值? - 技术问答
马上就理清思路了.用来用去都不用自己写代码..都别人准备好了的.ajax很方便.ajax是js的嘛.所以咯,给一个button元素加上一个onclick事件,然后在一个js函数里把这些你要获取的元素给一个变量后.再组建一个变量,里面又一个url.就像form里的action的值一样.然后再在send里仍post...(就是&name=\\...

没表单 想要传递 某些数据 用什么 方式啊?
用$_GET["id"]就可以了。get可以获得url传递过来的数据 post可以获得表单里post来的数据 a标签带的参数实际上就是get方法

php相互传值
建议你用phprpc实现.phprpc和soap相似,但是传输过程基于gzip压缩,速度很快.以上两种都需要建立server端和client端,到底如何搭建,需要看你的详细配置.另外,php扩展类库里有两个函数pfsockopen\/fsockopen,是在固定端口上基于socket的数据传输.可以用操作类似文件流方式模拟常规post请求.我觉得你可能是要找它....

php中的如何进行curl模拟表单的post提交?
首先,定义POST请求的URL与表单数据。接着,初始化CURL,设置CURL选项,包括请求URL、类型(POST)、表单数据、是否返回结果等。执行请求并获取响应,最后关闭CURL。表单数据可以数组形式或URL编码字符串提供。示例代码中,使用http_build_query函数将数组编码为字符串。总结:通过以上步骤,PHP开发者可以利用CU...

PHP获取post请求三种方式
第一种方式 $_POST['fieldname'],它的说明是只能接收Content-Type: application\/x-www-form-urlencoded提交的数据。简单来说,就是表单POST过来的数据。第二种方式 file_get_contents(“php:\/\/input”),定义为将整个文件读入一个字符串。它允许读取 POST 的原始数据。与 $HTTP_RAW_POST_DATA ...

关于php如何传递数据
1.使用客户端浏览器的cookie cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在这里。2.使用服务器端的session 理解session是一件很容易的事情。与cookie的不同在于它是服务器端的临时储藏室。session常被称作会话。3.使用表单来传递 表单内...

php编程中怎么实现get和post请求的方法?
若表单包含名为username的输入框,通过$_POST获取提交值。注意,在使用$_POST时,表单method属性需设为post。表单代码示例如下:此外,可使用$_REQUEST超全局变量处理GET和POST请求,它包含所有通过这两种方式传递的参数。然而,建议实际开发中尽量区分使用$_GET和$_POST以区分不同请求类型。

php如何接收别的服务器post过来的数据 - 技术问答
我们介绍php接受post数据的三种方式:1.$_POST方式接收数据 _POST方式是通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。如使用$_POST[‘name’]就可以接收到网页表单以及网页异步方式post过来的数据,即$_POST只能接收文档类型为Content-Type: application\/x-www-form-urlencoded提交的数据,也...

PHP怎么带headers提交post
一般html网页表单的post类型为application\/x-www-form-urlencoded,在php端使用$_POST['key']的方式接收。而非网页表单的post在apache服务器是使用apache_request_headers();方式接收数据 那兼容的方法就可以是:\/\/post data = apache_request_headers();type = $data['Content-Type'];if ( '...

php获取post参数的几种方式是什么?
方法1、最常见的方法是:$_POST['fieldname'];说明:只能接收Content-Type: application\/x-www-form-urlencoded提交的数据 解释:也就是表单POST过来的数据 方法2、file_get_contents(“php:\/\/input”);说明:允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,...

相似回答