我最近学习了数组系统来缩短我在 Javascript 上的代码。
var fields = ['username', 'password', 'password_confirm', 'type', 'firstname', 'lastname', 'bdate_month', 'bdate_day', 'bdate_year', 'email', 'country', 'state', 'city', 'payment_email'];
var length = fields.length;
for (var i=0; i<length; i++) {
if ($('#' + fields[i]).val() == "") {
$('#' + fields[i] + '_error').show();
$('#' + fields[i] + '_error').fadeOut(4000, function() {});
$('#' + fields[i]).focus();
return false;
}
}
这是我生成的代码,用于创建一系列验证提交表单内容的条件。
现在我想在 PHP 中使用同样的原理来生成一系列函数,这些函数将从 MySQL 数据库中查询登录用户的数据。
我是 PHP 的新手,我知道下面的代码可能只是一堆废话。但也许您可以了解我在这里要完成的工作。
include("connect.php");
$fields = ('id', 'username', 'password', 'password_confirm', 'type', 'firstname', 'lastname', 'bdate_month', 'bdate_day', 'bdate_year', 'email', 'country', 'state', 'city', 'payment_email');
$username = mysql_real_escape_string($_SESSION['username']);
for ($i=0; $i<15; $i++) {
function $fields($i)() {
$username = mysql_real_escape_string($_SESSION['username']);
$sql="SELECT * FROM users WHERE username='$username'";
$resultado=mysql_query("$sql");
$row=mysql_fetch_array($resultado);
if($row!=NULL)
{
echo ($row['$fields($i)']);
} else {
echo (" No ".$fields($i)." inserted!");
}
}
}
============================================ 编辑:
我想出了一个更容易和更简单的方法。
function in_user($key) {
$username = mysql_real_escape_string($_SESSION['username']);
$sql="SELECT * FROM users WHERE username='$username'";
$resultado=mysql_query("$sql");
$row=mysql_fetch_array($resultado);
if($row!=NULL){
echo ($row[$key]);
} else {
echo ("No {$key}!");
}
}
由于我只需要更改要咨询的字段,因此我认为有参数的函数会更容易和更简单。
<?php in_user('email');?>
会输出stored.email@database.com