小编use*_*560的帖子

PHP | 通过$ _POST []获取输入名称

HTML示例:

  <form method="post" id="form" action="form_action.php">
    <input name="email" type="text" />
  </form> 
Run Code Online (Sandbox Code Playgroud)

用户填写输入字段:dfg@dfg.com

echo $_POST['email']; //output: dfg@dfg.com
Run Code Online (Sandbox Code Playgroud)

表单中每个输入的名称和值将发送到服务器.有没有办法获得名称属性?所以像..

echo $_POST['email'].name; //output: email
Run Code Online (Sandbox Code Playgroud)

编辑:澄清对我的问题的一些困惑;

我们的想法是使用交换机动态验证每个输入.我使用一个单独的验证类来保持一切清洁.这是我最终结果的一个简短示例:

//Main php page
if (is_validForm()) {
    //All input is valid, do something..
}

//Separate validation class    
function is_validForm () {
    foreach ($_POST as $name => $value) {
        if (!is_validInput($name, $value)) return false;
    }
    return true;
   }

function is_validInput($name, $value) {
    if (!$this->is_input($value)) return false; 

    switch($name) {
        case email: return $this->is_email($value);  
        break;
        case password: return $this->is_password($value);
        break;
//and all …
Run Code Online (Sandbox Code Playgroud)

php post properties

10
推荐指数
1
解决办法
2万
查看次数

检测PDO-> execute是否返回行/记录?

代码示例;

$stmt = $db->prepare('SELECT u.username, u.display_name FROM users u WHERE u.id = :userId');
$stmt->bindValue(':userId', 10);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

使用prepare - > execute.如果您确定查询将返回最多1行; 是否有一种简单的方法来查看查询是否确实返回了一行?我看到每个人都在'rowCount'上验证,但是有没有更清洁的方式?

本文:http://www.christiansouth.com/php/pdo-getting-started-part-2-pdostatement/ states;

如果查询成功则为TRUE,否则为FALSE.如果SQL出错,它只会返回FALSE.因此,如果SQL有效但不返回rowset,您仍将获得TRUE返回值.

这个陈述是否正确?因为php.net只谈到:

成功时返回TRUE,失败时返回FALSE.

所以,再次提出问题:

  • 是不是你无法使用$ stmt(在上面的例子中)作为布尔值来验证是否返回了一行?
  • 是否有任何解决方案看起来更干净然后'rowCount'在if中敲击?

php pdo execute

6
推荐指数
1
解决办法
6579
查看次数

Windows 7上的Perl 5.16无法安装Template Toolkit

我尝试在cmd中使用此命令在Windows 7上安装Perl 5.16模块"Template-Toolkit":

C:> ppm安装Template-Toolkit

ppm安装失败:找不到任何提供Template-Toolkit的软件包

我安装的所有其他模块(AppConfig,DBI,DBD-mysql,MailTools,GD,Chart,GDGraph,..)都成功了.

这个网页作为指南之后,他们提到(在ActivateState Perl部分下)您可能无法将Perl安装到包含空格的目录(例如"C:\ Program Files")中,因为它会破坏Template-Toolkit安装程序.因为我直接在'C:\' - >'C:\ Perl64 \'中安装了Perl,所以情况并非如此.

有这个问题的解决方案吗?或者我应该使用这里提到的旧版Perl ?

windows perl templates install toolkit

5
推荐指数
2
解决办法
4992
查看次数

PHP - > REGEX | 密码验证无效

我使用这个(几乎)复杂的密码验证:

function is_password($password) {
    return preg_match("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$", $password);
}
Run Code Online (Sandbox Code Playgroud)

所以它必须包含:

  • 从0到9的一位数,
  • 一个小写字符,
  • 一个大写字符,
  • 至少6个字符
  • 最多20个字符

这似乎不起作用.每当我键入某些字符,如e,t,o,j,cb; 如果允许的长度正确,则该函数返回true.所以大写和数字没有被验证..

我究竟做错了什么?

php regex passwords validation

3
推荐指数
2
解决办法
1707
查看次数

标签 统计

php ×3

execute ×1

install ×1

passwords ×1

pdo ×1

perl ×1

post ×1

properties ×1

regex ×1

templates ×1

toolkit ×1

validation ×1

windows ×1