我正在研究有关在数据库中存储密码的不同解决方案。读了很多书后,我想我最终会得到PBKDF2。
尽管我对是否应该向 PBKDF2 函数输入盐并将盐存储在一列中并将 PBKDF2 密码存储在另一列中有点困惑。
我还使用 CodeIgniter 并找到了 PBKDF2 的库(https://github.com/HashemQolami/CodeIgniter-PBKDF2-Library),该库声称我不需要单独存储盐。
使用
$pbkdf2['hash']推荐的用户密码注册用户;无需单独储存用户的盐。https://github.com/HashemQolami/CodeIgniter-PBKDF2-Library#step-2
因此,如果我假设正确,我所需要的只是向函数提供密码,然后该函数会处理其余的事情?
我想使用jquery ajax将图像上传到本地文件夹.复杂的部分是我有动态生成的表单,以及我给它的id的那些表单和字段,以便显示提交的表单,如下所示.我正在使用以下代码,但图片未上传.
查看:Upload_View.php
<script type="text/javascript">
function sendVideoData(frm_id)
{
var data = new FormData(document.getElementById("post_video_"+frm_id));
// make the AJAX request
jQuery.ajax({
type: "POST",
url: "<?php echo base_url(); ?>"+"dashboard/do_upload",
data: data+'&form_id='+frm_id,
mimeType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
dataType: 'json',
success: function (data) {
alert("data"+data);
},
});
return false;
}
</script>
<form name="post_video" id="post_video_<?=$row1['id']?>" method="post" onsubmit="return sendVideoData(<?=$row1['id']?>)">
<input type="file" name="save_movie_<?=$row1['id']?>" id="movie_<?=$row1['id']?>" />
<input name="type_lecture_id" class="get_lecture_id" id="get_lecture_id_<?=$row1['id']?>" value="<?=$row1['id']?>" type="hidden"/>
<input type="button" class="postbtn" id="submit_movie_<?=$row1['id']?>" value="Upload Video File"/>
</form>
Run Code Online (Sandbox Code Playgroud)
控制器:
$formid=$_POST['form_id'];
$filename='save_movie_'.$formid;
$path_parts = pathinfo($_FILES[$filename]["name"]);
$extension = …Run Code Online (Sandbox Code Playgroud) 在Codeigniter中,我们可以使用force_download($file_name,$data)下载帮助程序中的函数强制浏览器下载文件.
但这不是我需要的,我希望Codeigniter响应文件对应的MIME类型的http标头,以便浏览器可能会也可能不会下载该文件,具体取决于是否有为该MIME注册的应用程序在客户端计算机上键入(如果有,则该应用程序将打开该文件).
有没有办法用Codeigniter做到这一点?
非常感谢大家.
我有一个表单中的文本框输入时间,我用来检查验证使用jquery.但现在我想使用codeigniter的内置验证系统检查文本框的验证.请您告诉我如何使用codeigniter的内置验证系统验证时间输入?
这是我使用jquery如何使用它的代码:
<script type="text/javascript">
$().ready(function() {
$.validator.addMethod("time", function(value, element) {
return this.optional(element) || /^(([0-1]?[0-2])|([2][0-3])):([0-5]?[0-9])\s(a|p)m?$/i.test(value);
}, "Enter Valid Time");
$("#theForm").validate({
rules: {
time: "required time",
},
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是html
<input class="time" type="text" name="time1" size="15">
Run Code Online (Sandbox Code Playgroud) 我MY_Router.php使用以下代码在核心目录中创建了文件:
<?php
class MY_Router extends CI_Router {
function MY_Router()
{
parent::CI_Router();
}
function _validate_request($segments)
{
// Comprueba que el controlador no existe
if (!file_exists(APPPATH.'controllers/'.$segments[0].EXT))
{
$segments = array("page", "load", $segments[0]);
}
return parent::_validate_request($segments);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
当我调用该应用程序时,会出现此错误:
致命错误:在第6行的/home/david/public_html/CodeIgniter_2.1.0/application/core/MY_Router.php中调用未定义的方法CI_Router :: CI_Router()
问题出在哪儿?
我在理解CI中应该保留哪些类时遇到问题.我正在构建一个描述/销售手机的应用程序.
我希望我的所有函数(即getphone,getdetails等)都驻留在一个名为Mobile的类中 - 我知道这个文件应该叫做Mobile.php并驻留在controllers文件夹中.
那么我可以在Mobile.php中拥有多个功能吗?例如
public function getphone() {
xxx
xx
xx
}
public function getdetails() {
xxx
xx
xx
}
Run Code Online (Sandbox Code Playgroud)
或者我需要将每个函数放在自己的类中吗?
我真的很感激看一些有效的示例代码.我已经浏览了几个小时的文档和谷歌,并尝试了URL中的各种变体来找到测试类,但没有太多运气!我甚至搞乱了路线和.htaccess ......
我想要实现的目标如下:
http:/// model/HTC-Desire /被重新路由到一个接受HTC-Desire作为参数的函数(因为我需要它进行数据库查找).默认控制器工作正常,但此后无法获得任何工作.
有任何想法吗?
谢谢
这看起来很简单,也许我今天不想直接思考,但现在我没有看到它:如何从不是输入字段的表单(在PHP应用程序中)发布数据?
我需要这个的原因是我有一个表单,用户在输入字段中添加一些信息,然后根据用户输入的内容(对此输入进行计算)更新表单中的其他值.然后应该提交此数据以及用户的输入.
我尝试使用表单标签,但无法使其工作.对于一个我无法使用.val()或.text()获取jQuery中表单的值.而且我不确定我是否可以在CodeIgniter函数中获取标签的值.我也尝试过<p>使用id的简单标签,但这不起作用.我想它必须是一个带有name属性的元素......
我在CodeIgniter中使用帮助器来获取表单值,如下所示:
$this->input->post('user')
Run Code Online (Sandbox Code Playgroud)
这适用于输入字段,但正如所解释的,我需要它用于非输入元素.当然我可以在jQuery中更新输入字段,但用户会认为应该填写它们的风险......
你是怎么做到的?
我的数据库中有以下表格.这些表格midterm和finalterm包含学生的痕迹.

现在我想在单页中显示所有学生的标记表,如下所示:

我知道如何在单个表中查询但在这种情况下我遇到问题,因为有三个表.
我正在使用Codeigniter,请您帮我查看我的模型和视图文件中的代码?
提前致谢 :)
这是我的控制器:
$this->load->model('Mod_student');
$data['records1']= $this->Mod_student->check1();
$this->load->view('view_student',$data);
Run Code Online (Sandbox Code Playgroud)
这是我的看法:
<?php if(count($records1) > 0) { ?>
<?php foreach ($records1 as $row){ ?>
<table>
<tr> <td><?php echo $row['StudentName']; ?></td></tr>
<tr>
<td><?php $midDate = explode(',',$row['MidDate']);
foreach($midDate as $md)
{
echo $md;
echo '<br />' ;
}
?>
</td>
<td><?php $midDate = explode(',',$row['MidSubject']);
foreach($midDate as $md)
{
echo $md;
echo '<br />' ;
}
?>
</td>
<td><?php $midDate = explode(',',$row['MidMarks']);
foreach($midDate as $md)
{
echo $md; …Run Code Online (Sandbox Code Playgroud) 例如,如果我在模型中运行一个查询:
public function list_users() {
$q = "SELECT user_id, username FROM users";
return $q->result_array();
}
Run Code Online (Sandbox Code Playgroud)
现在,要列出该用户的帖子,我需要在此函数中引用它的id:
public function list_posts() {
$q = "SELECT post_id, post_title, post_content FROM posts
WHERE user_id = what??";
return $q->result_array();
}
Run Code Online (Sandbox Code Playgroud)
好的,这两个功能都在Model中.现在,如何在list_posts()中使用list_users()中的RESULT.请记住,我需要传递ID的ARRAY,并且仅用于list_users()的特定id,它也会返回ARRAY
我知道我可以使用连接查询,但这根本不是重点,因为我有很多需要拆分的查询
有没有办法通过API构建一系列PrestaShop产品,以便我可以在外部应用程序中使用它们?
我只是想要这样的东西:
array(
0 => array(
'name' => 'Some product',
'image' => 'path/to/image.jpg',
'id' => 1,
'description' => 'Some description of the product here',
'path' => 'path/to/product'
),
...
999 => array(
...
)
);
Run Code Online (Sandbox Code Playgroud)
我知道webservice调用,array('resource' => 'products', 'display' => 'full')但我真的不知道如何从这个webservice调用返回的内容到达我需要的数组.我想要做的就是在外部网站上显示产品卷轴,每个图像链接到商店中的产品.
我使用的是Prestashop 1.5.6.2和CodeIgniter 2.1.4.产品卷轴必须显示在CI应用程序中.
编辑1
我最接近的是:$product = new Product(1, false, 1);对于产品编号1,但它不包含图像.
codeigniter-2 ×10
codeigniter ×7
php ×5
ajax ×1
download ×1
forms ×1
jquery ×1
mime-types ×1
mysql ×1
passwords ×1
pbkdf2 ×1
post ×1