问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用实现php与前端的交互

发布网友 发布时间:2022-04-22 00:51

我来回答

3个回答

懂视网 时间:2022-04-28 10:55

前言

在《PHP学习笔记-PHP与Web页面的交互1》笔记中讲解了form表单的一些属性,包括它的输入域标记、选择域标记和文字域标记的写法,接下来的内容就是讲如何获取表单数据以及PHP数据的传递,包括对各种控件值的获取。

相关学习推荐:php编程(视频)

插入表单

提交表单之前一定得有表单,当我们的表单创建完毕后可以将表单插入Web页中,代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>在普通的Web页中插入表单</title>
<style type="text/css">
body,td,th {
 font-size: 12px;
}
</style>
</head>
<body>
<form action="demo_1.php" method="post" name="form1" enctype="multipart/form-data">
 <table width="405" height="24" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#999999">
 <tr bgcolor="#FFCC33">
 <td width="103" height="25" align="right">商品名称:</td>
 <td height="25" align="left"><input name="product" type="text" id="user" size="20" maxlength="100"></td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td height="25" align="right">市场:</td>
 <td height="25" colspan="2" align="left"><input name="from" type="radio" value="海外" checked>
 海外
 <input type="radio" name="from" value="国内">
 国内</td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td width="103" height="25" align="right">编号:</td>
 <td width="289" height="25" colspan="2" align="left"><input name="code" type="text" id="code" size="20" maxlength="100"></td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td height="25" align="right">种类:</td>
 <td height="25" colspan="2" align="left"><select name="select">
 <option value="电器">电器</option>
 <option value="家具">家具</option>
 <option value="化妆品">化妆品</option>
 <option value="图书" selected>图书</option>
 <option value="服饰">服饰</option>
 <option value="宠物">宠物</option>
 <option value="计算机">计算机</option>
 </select></td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td height="25" align="right">商品图片: </td>
 <td height="25" colspan="2" align="left"><input name="photo" type="file" size="20" maxlength="1000" id="photo"></td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td height="25" align="right">商品描述: </td>
 <td height="25" colspan="2" align="left"><textarea name="intro" cols="28" rows="3" id="info"></textarea></td>
 </tr>
 <tr align="center" bgcolor="#FFCC33">
 <td height="25" colspan="3"><input type="submit" name="submit" value="提交">
   
 <input type="reset" name="submit2" value="重置"></td>
 </tr>
 </table>
</form>
<?php
header("Content-Type:text/html; charset=gb2312");
?>>
</body>
</html>

在HTML的<body>和</body>间添加一个表单。

运行结果:

在Web页中插入表单

获取表单数据

表单数据的获取主要有两个钟方式分别是POST()方法和GET()方法。

通过<form>表单的method属性所指定。

使用POST方法提交表单

应用POST方法时,只需将<form>表单中的属性method设置成POST即可。POST方法不依赖于URL,不会显示在地址栏。POST方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,用户在浏览器端是看不到这一过程的,安全性高。所以POST方法比较适合用于发送一个保密的(如信用卡号)或者容量较大的数据到服务器。

示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
 <title>PHP语言基础</title>

</head>
<body>
<form action="index.php" method="post" name="form1" enctype="multipart/form-data">
 <table width="300" border="1" cellpadding="10" cellspacing="0">
 <tr>
 <td height="30">编号:
 <input type="text" name="code" size="20"/>
 <input type="submit" name="subimt" value="提交"/>
 </td>
 </tr>
 </table>
</form>
<?php
header("Content-Type:text/html; charset=gb2312");
?>
</body>
</html>

运行结果:

这里写图片描述

点击提交按钮后,我们发现地址栏不会显示我们提交的参数。

使用GET方法提交表单

GET方法是<form>表单中method属性的默认方法。使用GET方法提交的表单数据被附加到URL后,并作为URL的一部分发送到服务器端。在程序的开发过程中,由于GET方法提交的数据是附加到URL上发送的,因此,在URL的地址栏中将会显示“URL+用户传递的参数”。

将上面示例中的<form>表单中method属性指定为get,运行程序后的结果如下:

这里写图片描述

点击按钮后地址栏会通过‘?'连接键值对,键值对以‘&'分隔。

PHP参数传递的常用方法

获取表单数据,实际上就是获取不同的表单元素的数据。<form>标签中的name是所有表单元素都具备的属性,即为这个表单元素的名称,在使用时需要使用name属性来获取相应的value属性值。

PHP参数传递的常用方法有三种:

  1. $_POST[]全局变量
  2. $_GET[]全局变量
  3. $_SESSION[]变量

$_POST[]全局变量

使用PHP的$_POST[]预定义变量可以获取表单元素的值,格式为:

$_POST[name]

范例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
 <title>PHP语言基础</title>

</head>
<body>
<form action="index.php" method="post" name="form1" enctype="multipart/form-data">
 <table width="300" border="1" cellpadding="10" cellspacing="0">
 <tr>
 <td height="30">编号:
 <input type="text" name="code" size="20"/>
 <input type="submit" name="subimt" value="提交"/>
 </td>
 </tr>
 </table>
</form>
<?php
header("Content-Type:text/html; charset=gb2312");
$value=$_POST['code'];
echo "编号:".$value;
?>
</body>
</html>

运行结果:

这里写图片描述

$_GET[]全局变量

PHP使用$_GET[]预定义变量获取通过GET方法传过来的值,使用格式为:

 $_GET[name]

范例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
 />
 <title>PHP语言基础</title>

</head>
<body>
<form action="index.php" method="get" name="form1" enctype="multipart/form-data">
 <table width="300" border="1" cellpadding="10" cellspacing="0">
 <tr>
 <td height="30">编号:
 <input type="text" name="code" size="20"/>
 <input type="submit" name="subimt" value="提交"/>
 </td>
 </tr>
 </table>
</form>
<?php
header("Content-Type:text/html; charset=gb2312");
$value=$_GET['code'];
echo "编号:".$value;
?>
</body>
</html>

运行结果:

这里写图片描述

$_SESSION[]变量

使用$_SESSION[]变量可以获取表单元素的值,格式为:

$_SESSION[name]

使用$_SESSION[]传参的方法获取的变量值,保存之后任何页面都可以使用。但这种方法很耗费系统资源,建议读者慎重使用。

案例

最后结合笔记中的第一个demo写一个完整的案例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 <title>在普通的Web页中插入表单</title>
 <style type="text/css">
 body, td, th {
 font-size: 12px;
 }
 </style>
</head>
<body>
<form action="demo_1.php" method="post" name="form1" enctype="multipart/form-data">
 <table width="405" height="24" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#999999">
 <tr bgcolor="#FFCC33">
 <td width="103" height="25" align="right">商品名称:</td>
 <td height="25" align="left"><input name="product" type="text" id="user" size="20" maxlength="100"></td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td height="25" align="right">市场:</td>
 <td height="25" colspan="2" align="left"><input name="from" type="radio" value="海外" checked>
 海外
 <input type="radio" name="from" value="国内">
 国内
 </td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td width="103" height="25" align="right">编号:</td>
 <td width="289" height="25" colspan="2" align="left"><input name="code" type="text" id="code" size="20"
     maxlength="100"></td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td height="25" align="right">种类:</td>
 <td height="25" colspan="2" align="left"><select name="select">
  <option value="电器">电器</option>
  <option value="家具">家具</option>
  <option value="化妆品">化妆品</option>
  <option value="图书" selected>图书</option>
  <option value="服饰">服饰</option>
  <option value="宠物">宠物</option>
  <option value="计算机">计算机</option>
 </select></td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td height="25" align="right">商品图片:</td>
 <td height="25" colspan="2" align="left"><input name="photo" type="file" size="20" maxlength="1000"
    id="photo"></td>
 </tr>
 <tr bgcolor="#FFCC33">
 <td height="25" align="right">商品描述:</td>
 <td height="25" colspan="2" align="left"><textarea name="intro" cols="28" rows="3" id="info"></textarea>
 </td>
 </tr>
 <tr align="center" bgcolor="#FFCC33">
 <td height="25" colspan="3"><input type="submit" name="submit" value="提交">
   
 <input type="reset" name="submit2" value="重置"></td>
 </tr>
 </table>
</form>
<?php
header("Content-Type:text/html; charset=gb2312");

if ($_POST[submit] != "") {
 echo "商品清单:";
 echo " <br><br>商品名称:" . $_POST['product'];
 echo " <br><br> 市场:" . $_POST[from];
 echo " <br><br> 编号:" . $_POST['code'];
 echo " <br><br> 种类:" .$_POST['select'];
 $path = './upfiles/'. $_FILES['photo']['name'];
 move_uploaded_file($_FILES['photo']['tmp_name'],$path);
 echo " <br><br>商品图片:" .$path;
 echo " <br><br>商品描述:" .$_POST['intro'];
}


?>
</body>
</html>

运行结果:

这里写图片描述

通过move_uploaded_file方法将图片上传到当前路径下的upfiles文件夹中。

相关学习推荐:编程视频

热心网友 时间:2022-04-28 08:03

PHP是什么文件? PHP,一个嵌套的缩写名称,是英文“超级文本预处理语言”(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的“嵌入HTML文档的脚本语言”,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。如何打开PHP文件? 一般来说,用文本编辑工具都可打开PHP文件如notepad、emeditor、phpedit、Dreamwere,推荐使用Dreamwer编辑PHP文件上,如果您打开的PHP文件全是乱码,那么这个PHP文件就是经过zend加密过的php文件,无法再编辑和修改,但可以正常的运行,如果您要运行PHP文件那么您就得安装相应的php解释器和web服务支持才行。想知道如何运行PHP文件请要看PHP教程

明白了吗?建议楼主去后盾人那自学,听说他们那正在搞什么实训班培训的活动,你可以去看看

热心网友 时间:2022-04-28 09:21

主要是两种方式,第一用表单把数据传递给PHP,第二用Ajax把数据传递给PHP。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
生产车间员工岗位职责及权限、任职要求分别是什么 车间普工岗位职责(集合6篇) "上海"的地名是谁起的,什么意思? 老公的爸妈是表亲,我爸妈也是表兄妹,孩子会怎么样吗? 爸妈是近亲结婚他们是表兄妹 我生孩子会有问题吗? 爸妈是亲表兄妹结婚对这代没事。。不知道下一代有问题没。。。_百度... 鉴证实录 法证女朋友怎么死的0 沈阳御通实业有限公司怎么样? 玉环御通广告有限公司御通服务 问御石通效果怎么样啊,治疗结石的 QQ业务介绍 火星文QQ简介谁有? QQ加人的时候提示被锁定不能加人0 0 介是什么情况 腾讯QQ特点介绍 怀孕7个月了梦见四只大黄狗想咬我但没咬上 歌词.哭红了双眼.后面忘记了.歌名不是这个我找很久... 吉他谱上D和C调是什么意思? 谁知道现在那有好看的电影呢? 情人节有什么好看的电影? 沈星博客《镜花水月 美人依旧》中的描写的四个人分... 什么是吉他C调? 徐熙颜结婚了吗 江澄的演艺经历 情人结的发行上映 吉他c调是什么意思。。 生死结里的女主角叫什么演过什么 吉他中C大调在哪?? 吉他中的C大调C小调是什么意思 章台路 美人依旧的txt全集下载地址 美人依旧的演职员表 php怎么做网页前端 吧台宽度尺寸一般是多少? 自学php前端内容和web前端有哪些书推荐 数字电视36%网络获取异常是怎么回事 请教,PHP开发转前端开发需要怎么学习 怎么快速学会php做网站 包括前端 后端 一定要速成 ... 吧台最小尺寸是多少? 我的手机怎么出现了网络错误 -36 如何开发一套PHP前端框架 对于家用水吧来说,吧台尺寸多少比较合适? 苹果手机登陆手游显示网络连接错误,代码:-36怎么... html前端开发教程和PHP后端开发的教程或是视频下载... 家庭装修吧台的尺寸要多少 连接失败-36可能原因是:无网络信号或者信号太弱。... 家庭吧台尺寸是多少 《cf》突然弹出“tgp 36-1网络异常”如何解决? 网络异常,无法获取数据怎么弄? 家庭吧台的台面宽一般为多少? php怎么转行做前端?有什么优势吗? 手机提示连接失败36是什么意思?连不上网,麻烦大家...