php存入數(shù)據(jù)實(shí)例,php存儲(chǔ)數(shù)據(jù)

PHP 中如何將多選的 checkbox 值存入數(shù)據(jù)庫?

?php

我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、烏蘭察布ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的烏蘭察布網(wǎng)站制作公司

if(!empty($_POST["t1"]))

{

$array = $_POST["t1"];

$str =implode(',',$array);

echo $str."br"; //輸出 籃球,足球,乒乓球,排球 //$str 存入數(shù)據(jù)庫

$arr=explode(',',$str);//從數(shù)據(jù)庫取出數(shù)據(jù)時(shí)用。

print_r($arr);//輸出 Array ( [0] = 籃球 [1] = 足球 [2] = 乒乓球 [3] = 排球 ) //數(shù)據(jù)庫輸出用explode變回?cái)?shù)組array

$serialize=serialize($array);

echo "br".$serialize."br"; //輸出 a:4:{i:0;s:4:"籃球";i:1;s:4:"足球";i:2;s:6:"乒乓球";i:3;s:4:"排球";} 存入數(shù)據(jù)后也是這樣子。

$unserialize = unserialize($serialize);

print_r($unserialize); //輸出 Array ( [0] = 籃球 [1] = 足球 [2] = 乒乓球 [3] = 排球 ) 變回array

}

?

form method=post action="" name="form1"

input type="checkbox" name="t1[]" value="籃球"籃球br

input type="checkbox" name="t1[]" value="足球"足球br

input type="checkbox" name="t1[]" value="乒乓球"乒乓球br

input type="checkbox" name="t1[]" value="排球"排球br

input type="submit"

/form

用php將密碼存入數(shù)據(jù)庫,用什么方法進(jìn)行加密?

題主你可以使用 md5 或者 sha1 進(jìn)行初步處理,但為了更加安全,請(qǐng)你同時(shí)加上兩個(gè) salt,一個(gè)靜態(tài) salt,一個(gè)動(dòng)態(tài)的 salt。以 md5 為例:\x0d\x0a假設(shè)通過 POST 傳來的密碼為 $_POST['password'],在存入 DB 前先進(jìn)行如下的操作:\x0d\x0a$password = hash('md5', $_POST['password'].$staticSalt.$dynamicSalt);\x0d\x0a\x0d\x0a為了保證動(dòng)態(tài) salt 的唯一性,可以這樣操作:\x0d\x0a$dynamicSalt = hash('md5', microtime());\x0d\x0a\x0d\x0a對(duì)于動(dòng)態(tài)的 salt 可以與生成的密碼一起保存在 DB 中,而靜態(tài) salt 則可以直接放在類文件中(例如定義為一個(gè)靜態(tài)屬性即可)。\x0d\x0a首先謝謝題主采納了我的答案,但是我之前的回答并不是最佳答案,之所以有此加密的想法源于自己所讀的源碼可能比較老,所以并沒使用上較新版本的加密方法,例如 bcrypt等。\x0d\x0a此外,第二點(diǎn),感謝評(píng)論中幾位前輩的提點(diǎn),已經(jīng)明白設(shè)置靜態(tài) salt 的意義并不大,生成一個(gè)較長的動(dòng)態(tài) salt 已然可以解決問題。\x0d\x0a\x0d\x0aLZ應(yīng)該采用加鹽HASH。\x0d\x0a如何“腌制”密碼呢?\x0d\x0a=_,=\x0d\x0a正確的格式應(yīng)該是,用戶password+動(dòng)態(tài)的salt\x0d\x0a動(dòng)態(tài)的salt不能像2L所說的,使用microtime,因?yàn)闀r(shí)間在某些情況下不夠隨機(jī),而且是可能被猜解的。\x0d\x0a這里推薦一個(gè)我用的加鹽HASH\x0d\x0a$salt=base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_RANDOM));\x0d\x0a$password=sha1($register_password.$salt);\x0d\x0a\x0d\x0a解釋:\x0d\x0a首先使用mcrypt,產(chǎn)生電腦隨機(jī)生成的,專門用戶加密的隨機(jī)數(shù)函數(shù)。\x0d\x0a第二步,把得到的隨機(jī)數(shù)通過base64加密,使其變長并且不利于猜解。\x0d\x0a第三步,把得出的鹽拼接到密碼的后面,再對(duì)其使用sha1進(jìn)行哈希\x0d\x0a再把password存入到用戶的數(shù)據(jù)庫。\x0d\x0aPS:為何不用靜態(tài)的salt?沒有必要,使用一個(gè)動(dòng)態(tài)隨機(jī)足夠長的鹽足矣。\x0d\x0a為何不用MD5?因?yàn)殚L度不夠。\x0d\x0a為何沒有使用多次HASH?因?yàn)檫@樣反而容易發(fā)生碰撞。\x0d\x0aHASH好之后怎么使用“腌制”好的密碼?\x0d\x0a用戶注冊-提交密碼-產(chǎn)生salt-腌制好的密碼存入數(shù)據(jù)庫-salt存入數(shù)據(jù)庫。\x0d\x0a用戶登錄-提交密碼-調(diào)用salt接到提交密碼的后面-進(jìn)行HASH-調(diào)用之前注冊腌制好的密碼-對(duì)比HASH值是否和這個(gè)密碼相同

PHP實(shí)現(xiàn)的pdo連接數(shù)據(jù)庫并插入數(shù)據(jù)功能簡單示例

本文實(shí)例講述了PHP實(shí)現(xiàn)的pdo連接數(shù)據(jù)庫并插入數(shù)據(jù)功能。分享給大家供大家參考,具體如下:

創(chuàng)建配置文件

pdo_config.php

?php

$db_Type

=

"mysql";//數(shù)據(jù)庫類型

$host

=

"localhost";//主機(jī)名

$dbName

=

"test";//數(shù)據(jù)庫名

$userName

=

"root";//用戶名

$password

=

"root";//密碼

$dsn

=

"{$db_Type}:host={$host};dbname={$dbName}";

?

pdo插入數(shù)據(jù)庫

pdo_insert.php

?php

header('Content-type:text/html;

charset=utf-8');

require

'pdo_config.php';

try{

$pdo

=

new

PDO

($dsn,$userName,$password);//創(chuàng)建一個(gè)連接對(duì)象

$pdo-exec('set

names

utf8');//設(shè)置編碼

$sql

=

"INSERT

student

(name,email)

VALUES

('李四','123@qq.com')";

$pdo-exec($sql);

}catch

(PDOException

$e){

die('操作失敗'.$e-getMessage());

}

//關(guān)閉連接

$pdo

=

null;

?

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+mysqli數(shù)據(jù)庫程序設(shè)計(jì)技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:關(guān)于php連接mssql:pdo

odbc

sql

serverPHP5中使用PDO連接數(shù)據(jù)庫的方法PHP中PDO連接數(shù)據(jù)庫中各種DNS設(shè)置方法小結(jié)ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫操作示例PHP使用ODBC連接數(shù)據(jù)庫的方法tp5(thinkPHP5)框架連接數(shù)據(jù)庫的方法示例PHP7使用ODBC連接SQL

Server2008

R2數(shù)據(jù)庫示例【基于thinkPHP5.1框架】tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫的方法thinkPHP5實(shí)現(xiàn)數(shù)據(jù)庫添加內(nèi)容的方法tp5(thinkPHP5)框架數(shù)據(jù)庫Db增刪改查常見操作總結(jié)PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫示例【基于ThinkPHP5.1搭建的項(xiàng)目】

php?寫入數(shù)據(jù)庫?例子

?php

//?以?MySQL?為例:

mysql_connect('127.0.0.1',?'root',?'root',?3306);??//?連接數(shù)據(jù)庫

mysql_select_db('test');???????????????????????????//?選擇數(shù)據(jù)庫

mysql_query('set?names?utf8');?????????????????????//?執(zhí)行SQL

//?插入數(shù)據(jù)語句

$sql?=?"INSERT?INTO?table?(username,?password)?VALUES?('Jack@163.com',?'123456')";

$r?=?mysql_query($sql);

if?(mysql_affected_rows())?{

echo?'新增成功';

}?else?{

echo?mysql_error();

}

導(dǎo)入excel文件,后端php處理導(dǎo)入的數(shù)據(jù)并存入數(shù)據(jù)庫,需要前后端結(jié)合的demo!

thinkphp3.2和phpexcel導(dǎo)入最基本用法

先整個(gè)最基礎(chǔ)的代碼,理解了這個(gè),后面的就非常簡單了

$file_name=?'./Upload/excel/123456.xls';

import("Org.Util.PHPExcel");

import("Org.Util.PHPExcel.IOFactory");

$objReader?=?\PHPExcel_IOFactory::createReader('Excel5');

$objPHPExcel?=?$objReader-load($file_name,$encode='utf-8');

$sheet?=?$objPHPExcel-getSheet(0);

$highestRow?=?$sheet-getHighestRow();?//?取得總行數(shù)

$highestColumn?=?$sheet-getHighestColumn();?//?取得總列數(shù)

$s?=?$objPHPExcel-getActiveSheet()-getCell("A2")-getValue();

表格內(nèi)容:

再給大家整個(gè)一點(diǎn)難度的,先說下思路。

1.上傳excel文件,得到它的地址

2.寫個(gè)處理exl的function,即可

實(shí)例代碼演示:

public?function?upload(){

$files?=?$_FILES['exl'];

//?exl格式,否則重新上傳

if($files['type']?!='application/vnd.ms-excel'){

$this-error('不是Excel文件,請(qǐng)重新上傳');????

}

//?上傳

$upload?=?new?\Think\Upload();//?實(shí)例化上傳類

$upload-maxSize???=?????3145728?;//?設(shè)置附件上傳大小

$upload-exts??????=?????array('xls');//?設(shè)置附件上傳類型

$upload-rootPath??=?????'./Upload/';?//?設(shè)置附件上傳根目錄

$upload-savePath??=?????'excel/';?//?設(shè)置附件上傳(子)目錄

//$upload-subName???=?????array('date',?'Ym');

$upload-subName???=?????'';

//?上傳文件??

$info???=???$upload-upload();

$file_name?=??$upload-rootPath.$info['exl']['savepath'].$info['exl']['savename'];

$exl?=?$this-import_exl($file_name);

//?去掉第exl表格中第一行

unset($exl[0]);

//?清理空數(shù)組

foreach($exl?as?$k=$v){

if(empty($v)){

unset($exl[$k]);

}????

};

//?重新排序

sort($exl);

$count?=?count($exl);

//?檢測表格導(dǎo)入成功后,是否有數(shù)據(jù)生成

if($count1){

$this-error('未檢測到有效數(shù)據(jù)');????

}

//?開始組合數(shù)據(jù)

foreach($exl?as?$k=$v){

$goods[$k]['goods_sn']?=?$v;

//?查詢數(shù)據(jù)庫

$where['goods_sn']?=?array('like','%'.$v.'%');

$res?=?M('goods')-where($where)-find();

$goods[$k]['goods_name']?=?$res['goods_name'];

$goods[$k]['goods_thumb']?=?$res['goods_thumb'];

if($res){

//?是否匹配成功??

$goods[$k]['is_match']????=?'1';

$f?+=?1;

}else{

//?匹配失敗

$goods[$k]['is_match']????=?'0';

$w?+=?1;

}

}

//?實(shí)例化數(shù)據(jù)

$this-assign('goods',$goods);

//print_r($f);

//?統(tǒng)計(jì)結(jié)果

$total['count']?=?$count;

$total['success']?=?$f;

$total['error']?=?$w;

$this-assign('total',$total);

//?刪除Excel文件

unlink($file_name);

$this-display('info');

}

/*?處理上傳exl數(shù)據(jù)

*?$file_name??文件路徑

*/

public?function?import_exl($file_name){

//$file_name=?'./Upload/excel/123456.xls';

import("Org.Util.PHPExcel");???//?這里不能漏掉

import("Org.Util.PHPExcel.IOFactory");

$objReader?=?\PHPExcel_IOFactory::createReader('Excel5');

$objPHPExcel?=?$objReader-load($file_name,$encode='utf-8');

$sheet?=?$objPHPExcel-getSheet(0);

$highestRow?=?$sheet-getHighestRow();?//?取得總行數(shù)

$highestColumn?=?$sheet-getHighestColumn();?//?取得總列數(shù)

for($i=1;$i$highestRow+1;$i++){

$data[]?=?$objPHPExcel-getActiveSheet()-getCell('A'.$i)-getValue();????

}

return?$data;????

}

有問題一定要及時(shí)弄清楚

php怎么寫入、存儲(chǔ)數(shù)組數(shù)據(jù)?

PHP有自帶的高性能函數(shù) var_export

conn.php

?php

$dbconfig = array (

'host'='127.0.0.1',

'name'='root',

'password'='123456',

?

b.php

?php

// 讀取配置

include 'conn.php';

echo $dbconfig['host'];

// 修改配置

$dbconfig['host'] = 'xxx.xxx.xxx.xxx';

file_put_contents('conn.php', "?php\n$dbconfig = " . var_export($dbconfig) . "\n?");

// 再讀取配置

include 'conn.php';

echo $dbconfig['host'];

?

參考連接:

網(wǎng)站欄目:php存入數(shù)據(jù)實(shí)例,php存儲(chǔ)數(shù)據(jù)
URL鏈接:http://m.kartarina.com/article2/hddsic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器網(wǎng)站設(shè)計(jì)定制網(wǎng)站動(dòng)態(tài)網(wǎng)站移動(dòng)網(wǎng)站建設(shè)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
主站蜘蛛池模板: 无码人妻丰满熟妇区毛片18| 无码人妻H动漫中文字幕| 国产成人无码久久久精品一| 日韩精品无码中文字幕一区二区| 欧洲Av无码放荡人妇网站| 免费看无码自慰一区二区| 亚洲av无码不卡| 无码国内精品久久人妻麻豆按摩 | 亚洲中文字幕无码不卡电影| 亚洲av无码一区二区三区观看| 国产成人无码免费网站| 亚洲av无码成人精品区一本二本| 亚洲av中文无码乱人伦在线r▽| 亚洲AV永久无码天堂影院| 性无码专区无码片| H无码精品3D动漫在线观看| 国产午夜av无码无片久久96| 熟妇人妻无码中文字幕| 中文字幕无码乱人伦| 无码天堂亚洲国产AV| 亚洲精品无码专区| 久久精品亚洲AV久久久无码| 久久久无码精品国产一区| 中文字幕精品无码一区二区| 国产精品无码久久av| 无码专区永久免费AV网站| 中文字幕人成无码人妻| 亚洲国产成AV人天堂无码| 无码国产午夜福利片在线观看| 伊人久久综合精品无码AV专区| 国产精品无码无卡无需播放器| 亚洲精品无码久久久久久| 日韩精品久久无码中文字幕| 亚洲AV无码一区二区乱子伦| av无码人妻一区二区三区牛牛| 免费无码又爽又刺激一高潮| 亚洲AV无码乱码在线观看性色扶 | 亚洲av永久无码精品天堂久久| 亚洲一区二区三区AV无码| 亚洲永久无码3D动漫一区| 国产精品无码成人午夜电影|