首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >表单验证。如果不可能为空,是否可以使用$_POST?

表单验证。如果不可能为空,是否可以使用$_POST?
EN

Stack Overflow用户
提问于 2013-10-04 14:35:19
回答 5查看 3K关注 0票数 0

如果表单字段为null,是否可以告诉php不要发布数据?

现在,我在insert.php页面中的post变量如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fname = $_POST['firstname'];
lname = $_post['lasname'];

sql = "UPDATE profile SET first='.$fname.', last='.$lname.' WHERE id='.$id.'";

如果我的表单字段为空或空,我希望$fname $lname不要发布。做这件事最好的方法是什么?

当前,当我提交更新时,如果这些字段是空的,则如果没有插入空行,则使用空行更新整个表。

EN

回答 5

Stack Overflow用户

发布于 2013-10-04 14:36:54

您可以在每个字段中使用这样的内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$fname = empty($_POST['firstname']) ? null : $_POST['firstname'];

如果表单字段不存在或输入为空,这将将$fname设置为空。否则,它将使用原始值。

更新

如果只想更新非空字段,则需要添加一些额外的逻辑:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if($fname !== null && $lname !== null) {
    // update both
}
else if($fname !== null) {
    // update just fname
}
else if($lname !== null) {
    // update just lname
}
票数 0
EN

Stack Overflow用户

发布于 2013-10-04 14:45:35

Is it possible to tell php to NOT post data if the form field is null? --不是PHP发布的数据,而是您点击表单提交按钮时的浏览器。为了防止在字段为空时发生这种情况,您必须使用客户端(javascript),它首先验证是否确实在表单提交之前填写了字段。

我就是这么理解你的问题的。如果不希望在$_POST变量为空时创建SQL查询,则只需使用If条件或三元运算符即可。

票数 0
EN

Stack Overflow用户

发布于 2013-10-04 14:47:22

我会这么做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$fname = isset($_POST['firstname']) && strlen($_POST['firstname']) > 0 ? $_POST['firstname'] : null;

这样,如果设置变量而不是空变量,$fname将被定义为$_POST‘$fname’值,否则它将是null

顺便说一句,如果您在双引号(")中工作,则不需要使用点来向$sql字符串添加值。更重要的是,您的语法是错误的。这是一种工作方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$sql = "UPDATE profile SET first='$fname', last='$lname' WHERE id='$id'";

您应该而不是使用这种SQL查询生成。它容易受到SQL注入的影响。最好使用、PDO、MySQLi参数化查询。

顺便说一句,如果您想要在值为空的情况下拒绝插入,最好在创建MySQL表时(将一个not null属性分配给该列)。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE user(
    first VARCHAR(50) NOT NULL,
    last VARCHAR(50) NOT NULL
)

**编辑:如果我理解得很好,这就是你想要的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$valuesToAdd = "";
// Concatenate values to the query if they are defined
if (isset($_POST['firstname']) && strlen($_POST['firstname']) > 0) $valuesToAdd .= "first = '{$_POST['firstname']}',";
if (isset($_POST['lastname']) && strlen($_POST['lastname']) > 0) $valuesToAdd .= "last = '{$_POST['lastname']}',";
// Repeat for any other values...

// By default, the SQL string is empty
$sql = "";

// If changes were made...
if (strlen($valuesToAdd) > 0) {
    // Remove the last ","
    $valuesToAdd = substr($valuesToAdd, 0, strlen($valuesToAdd)-1);

    // Generate the SQL string with the values which will be added
    $sql = "UPDATE profile SET {$valuesToAdd} WHERE id='{$id}'";

    // echo $sql; die;
}


// Check if the SQL string is not empty
if (strlen($sql) > 0) {
    // Here the SQL has been generated, use it for a SQL query...
    // $con = mysql_connect(...); .....
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19191815

复制
相关文章
python巧妙实现数学阶乘n!
本文就给大家介绍如何使用python和第三方库来实现数学运算中的阶乘以及阶乘累计求和。
皮大大
2023/03/15
9740
python巧妙实现数学阶乘n!
阶乘和阶乘逆元
有一个无限大的矩形,初始时你在左上角(即第一行第一列),每次你都可以选择一个右下方格子,并瞬移过去(如从下图中的红色格子能直接瞬移到蓝色格子),求到第nn行第mm列的格子有几种方案,答案对1000000007取模。
Max超
2019/01/21
1.2K0
具体数学-第10课(素数和阶乘的有趣性质)
是素数,这个数也不一定是素数,2017年年末美国一个电气工程师发现了人类历史上最大的梅森素数——
godweiyang
2020/03/24
6130
具体数学-第10课(素数和阶乘的有趣性质)
快速阶乘算法python_【最全】阶乘算法!(python和C语言)
叁岁学编程:用最简单的大白话理解编程,欢迎大家关注,留言,提问,希望和大家一起提升!
全栈程序员站长
2022/09/15
1.5K0
Java工具集-数学(阶乘函数)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cwl_java
2019/11/20
1.3K0
Python阶乘求和
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/03
1K0
具体数学-第6课(下降阶乘幂)
事实上,我们可以将正数和负数分开求和,因为正数求和我们已经解决了,所以我们定义:
godweiyang
2020/03/24
8140
具体数学-第6课(下降阶乘幂)
15:阶乘和
15:阶乘和 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1。 输入正整数N,输出计算结果S。 输入一个正整数N。输出计算结果S。样例输入 5 样例输出 153 来源NOIP1998复赛 普及组 第二题 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #includ
attack
2018/04/11
1.1K0
Python计算阶乘
通过用户输入数字计算阶乘 1.获取用户输入的数字 num = int(input("请输入一个数字: ")) factorial = 1 2.判断数字 负数没有阶乘 0的阶乘还是0 if num < 0: print("抱歉,负数没有阶乘") elif num == 0: print("0 的阶乘为 1") else: for i in range(1, num + 1): factorial = factorial * i print("%d 的阶乘为 %d
织幻妖
2021/06/27
1.5K0
Python计算阶乘
机器学习 | 线性回归的数学表示
线性回归对已有数据进行建模,可以对未来数据进行预测。有些人觉得线性回归太过简单,甚至不屑于称之为机器学习;另外一些人觉得很多编程库已经对线性回归做了封装,使用时调用一下函数就好,不必了解太多数学推导过程。实际上,线性回归是所有机器学习技术的一个最好起点,很多复杂的机器学习技术以及当前大火的深度神经网络都或多或少基于线性回归。
PP鲁
2020/05/26
6690
机器学习 | 线性回归的数学表示
python 求N的阶乘
输出格式: 在一行中按照“product = F”的格式输出阶乘的值F,请注意等号的左右各有一个空格。题目保证计算结果不超过双精度范围。
程序员皮克
2021/12/26
3K0
数学笔记(二)之平面表示
  假设我们知道垂直于平面的法向量n,以及平面上的一点p0,如何使用这两个元素来表示该平面呢?
用户2615200
2018/08/02
5500
Latex数学公式-求导、分数的表示
\frac{}{}:分数表示 \partial: 偏导符号 \mathrm{d}t:正规的导数d(正体)
全栈程序员站长
2022/09/10
1.3K0
N的阶乘(大数阶乘算法)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/164007.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/15
8680
Python计算前n个自然数的阶乘和
本文来源于粉丝私信的问题,目的在于计算result = 1!+2!+3!+...+n!,因为代码比较简单,没加注释,有问题可以留言交流。文中给出了2段代码,在实际使用时应优先考虑使用第一段,第二段仅用来验证,涉及大量重复计算,效率极低。 def factorialBefore(n): result, t = 1, 1 for i in range(2, n+1): t *= i result += t return result def verify(n): f
Python小屋屋主
2018/04/16
3K0
Python|用python解决阶乘问题
阶乘是我们在很多的数学问题中会遇到的,但是如果我们需要一个很大的数的阶乘,那么自己算起来就会很麻烦,那么我们就能用python来解决这个问题。让阶乘编程一个简单的问题
算法与编程之美
2020/02/25
1.3K0
1-10的阶乘和
public class JC { public static void main(String[] args) { int a =1,sum=0; for(int j=1;j<=10;j++) { a=a*j; sum=a+sum; } System.out.println(sum); } }
传说之下的花儿
2023/04/16
3520
51Nod 1003 阶乘后面0的数量(数学,思维题)
1003 阶乘后面0的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 n的阶乘后面有多少个0? 6的阶乘 = 1*2*3*4*5*6 = 720,720后面有1个0。 Input 一个数N(1 <= N <= 10^9) Output 输出0的数量 Input示例 5 Output示例 1题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1003 编程之美有讲:一个
Angel_Kitty
2018/04/08
6710
python巧妙实现阶乘n!
本文给大家介绍如何使用python和第三方库来实现数学运算中的阶乘以及阶乘累计求和。
皮大大
2023/08/25
3650
python巧妙实现阶乘n!
点击加载更多

相似问题

Postgresql数学函数(阶乘)

23

Python -阶乘和

54

Python -阶乘和

310

关于数学阶乘的Javascript代码

24

使用for和while来表示r中的阶乘

120
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文