php将用户信息提交到表单并且以txt文档打印出来
1、分析:
====不推荐这种========
<?php
function foo(){
//
global $message;
if(empty($_POST['username'])){
echo "要先输入名字";
return;
}else{
if(empty($_POST['password'])){
echo "请输入密码";
return;
}else{
if(empty($_POST['confirm'])){
echo "请确认密码";
return;
}else{
if ($_POST['password'] !== $_POST['confirm']) {
$GLOBALS['message'] = '两次输入的密码不一致';
return;
}else{
if(!(isset($_POST['agree'])&&isset($_POST['agree'])=='on')){
echo "同意协议了吗";
return;
}else{
$username=$_POST['username'];
$password=$_POST['password'];
file_put_contents('users.txt', $username.'|'.$password."\n",FILE_APPEND);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
foo();
}
?>
=============================================================================
<?php
function foo(){ //我们的目的是每次提交表单的时候,都要看看里面的内容是否为空,如果第一个为空,里面的文本框就不能输入,用(return)可以让程序停止,但是return 只能用在函数中,所以我们构建了一个函数
//
global $message; //这里一定要设置为全局变量,否则下面html代码中的$message不能使用
if(empty($_POST['username'])){
echo "要先输入名字";
return;
}
if(empty($_POST['password'])){
echo "请输入密码";
return;
}
if(empty($_POST['confirm'])){
echo "请确认密码";
return;
}
if ($_POST['password'] !== $_POST['confirm']) {
$GLOBALS['message'] = '两次输入的密码不一致';
return;
}
if(!(isset($_POST['agree'])&&isset($_POST['agree'])=='on')){
echo "同意协议了吗";
return;
}
$username=$_POST['username'];
$password=$_POST['password'];
file_put_contents('users.txt', $username.'|'.$password."\n",FILE_APPEND);
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
foo();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table>
<tr>
<td><label for="username">用户名</label></td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td><label for="password">密码</label></td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><label for="confirm">确认密码</label></td>
<td><input type="password" name="confirm" id="confirm"></td>
</tr>
<tr>
<td></td>
<td><label><input type="checkbox" name="agree" value="on"> 同意注册协议</label></td>
</tr>
<?php if (isset($message)): ?>
<tr>
<td></td>
<td><?php echo $message; ?></td>
</tr>
<?php endif ?>
<tr>
<td><label for="button"></label></td>
<td><input type="submit" name="button"></td>
</tr>
</table>
</form>
</body>
</html>
php将用户信息提交到表单并且以txt文档打印出来的更多相关文章
- ajax提交form表单资料详细汇总
一.ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单.通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新.这意味 ...
- formidable处理提交的表单或文件的简单介绍
一般来说,客户端向服务端提交数据有GET和POST这两种方式,在之前的文章node.js当中的http模块与url模块的简单介绍当中我们可以知道通过req.url与url模块的配合处理可以快速得到客户 ...
- formidable处理提交的表单或图片文件的简单介绍
一般来说,客户端向服务端提交数据有GET和POST这两种方式,在之前的文章node.js当中的http模块与url模块的简单介绍当中我们可以知道通过req.url与url模块的配合处理可以快速得到客户 ...
- 如何使用PHP验证客户端提交的表单数据
PHP 表单验证 本章节我们将介绍如何使用PHP验证客户端提交的表单数据. PHP 表单验证 在处理PHP表单时我们需要考虑安全性. 本章节我们将展示PHP表单数据安全处理,为了防止黑客及垃圾信息我们 ...
- Jquery通过Ajax方式来提交Form表单
今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...
- Ajax提交Form表单的一种方法
待提交的表单 <form id="updatePublicKey" enctype="multipart/form-data"> <div c ...
- 按下回车默认提交form表单问题
最近开发中碰到一个问题,项目中有几个列表展示页面,允许用户通过查询条件模糊查询数据.用户录入关键字后点击回车会调用查询方法根据关键字查询,原先功能没有问题,但是最近发现在查询输入框中按下回车会直接刷新 ...
- Button按钮为什么无缘无故会提交form表单?
我的form表单里有好几个Button按钮,每个按钮有不同的功能,可是这些按钮居然都有提交功能,真是把我惊呆了 <button class="btn btn-info " o ...
- ajax 提交所有表单内容及上传图片(文件),以及单独上传某个图片(文件)
我以演示上传图片为例子: java代码如下(前端童鞋可以直接跳过看下面的html及js): package com.vatuu.web.action; import java.io.File; imp ...
随机推荐
- 扫描某目录下的所有文件的MD5码并导出文件【可执行jar】
pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:// ...
- python源码编译
PyInstaller是一个基于windows平台,将源码打包成执行文件的第三方库,PyInstaller本身并不属于Python包. 源文件要采用UTF-8编码 安装Pyinstaller pip ...
- Codeforces997D Cycles in product 【FFT】【树形DP】
题目大意: 给两个树,求环的个数. 题目分析: 出题人摆错题号系列. 通过画图很容易就能想到把新图拆在两个树上,在树上游走成环. 考虑DP状态F,G,T.F表示最终答案,T表示儿子不考虑父亲,G表示父 ...
- 洛谷P2722总分题解
题目 这个题是一个裸的完全背包问题,但是数组需要开大, 代码 #include<iostream> using namespace std; int n,m,v,i; int c[1000 ...
- eclipse 保存html 提示 save could not be completed
重启ecplise 即可
- 【cf789C】Functions again(最大子序列和)
C.Functions again 题意 给你一个数组a[1..n].有一个函数\(f(l,r)=\sum_{i=l}^{r-1}\left| a[i]-a[i+1]\right| (-1)^{l-i ...
- 「CodeForces 581D」Three Logos
BUPT 2017 Summer Training (for 16) #3A 题意 给你三个矩形,需要不重叠不留空地组成一个正方形.不存在输出-1,否则输出边长和这个正方形(A,B,C表示三个不同矩形 ...
- Apache 跟踪用户会话
打开usertrack_module LoadModule usertrack_module modules/mod_usertrack.so 配置跟踪选项 <IfModule usertrac ...
- k短路模板(洛谷P2483 [SDOI2010]魔法猪学院)(k短路,最短路,左偏树,priority_queue)
你谷数据够强了,以前的A*应该差不多死掉了. 所以,小伙伴们快来一起把YL顶上去把!戳这里! 俞鼎力的课件 需要掌握的内容: Dijkstra构建最短路径树. 可持久化堆(使用左偏树,因其有二叉树结构 ...
- 安卓Q | 诸多本地文件找不到?应用文件存储空间沙箱化适配指导
上期我们针对Android Q 版本中对设备存储空间进行的限制.新特性变更引发的兼容性问题及原因分析推出了<安卓 Q | 8大场景全面解析应用存储沙箱化>文章,本期文章我们将手把手指导各位 ...