php作為網(wǎng)站建設(shè)行業(yè)現(xiàn)階段最流行的編程語言之一;是大部分建站公司進(jìn)行網(wǎng)站制作的首選語言之一;算得上是備受開發(fā)者的喜愛。其基本的流程無外乎,前臺獲取數(shù)據(jù),通過php編程將獲取的數(shù)據(jù)存入到數(shù)據(jù)庫中,當(dāng)用戶瀏覽網(wǎng)頁的時(shí)候,通過瀏覽器的響應(yīng),從數(shù)據(jù)庫中取出數(shù)據(jù)然后再渲染到頁面上,以滿足用戶瀏覽的需求。表單是企業(yè)網(wǎng)站收集用戶信息最為常用的功能之一,下面就通過網(wǎng)站建設(shè)教程的方式介紹下,php如何獲取表單數(shù)據(jù)然后原樣輸出到瀏覽器頁面上的。
本教程涉及的知識比較基礎(chǔ);采用HTML+PHP混編的模式進(jìn)行,其目的偏向于講解其中的原理。
首先需要準(zhǔn)備一個(gè)html頁面進(jìn)行表單元素的布置:涵蓋了表單常用的:輸入框、多選按鈕、單選按鈕、下拉菜單、多行文本輸入框。結(jié)構(gòu)比較簡單,其目的偏向于講解其中的原理;代碼如下:
HTML部分:
< form action="post.php" method="post">
< div class="forms_item">
< span>姓名:< /span>
< input type="text" name="uname" id="uname" value="" />
< /div>
< div class="forms_item">
< span>網(wǎng)站建設(shè)類型:< /span>
< input type="checkbox" name="ulick[]" value="0" />企業(yè)網(wǎng)站建設(shè)
< input type="checkbox" name="ulick[]" value="1" />營銷型網(wǎng)站建設(shè)
< input type="checkbox" name="ulick[]" value="2" />響應(yīng)式網(wǎng)站建設(shè)
< input type="checkbox" name="ulick[]" value="3" />商城網(wǎng)站制作
< /div>
< div class="forms_item">
< span>網(wǎng)站建設(shè)方式:< /span>
< input type="radio" name="usex" id="" checked value="0"> 建站公司開發(fā)
< input type="radio" name="usex" id="" value="1"> 模版建站
< /div>
< div class="forms_item">
< span>網(wǎng)站制作價(jià)格:< /span>
< select name="uxl">
< option value="0">1200元-模版網(wǎng)站< /option>
< option value="1">3000起步-定制網(wǎng)站< /option>
< option value="2">6000起步-響應(yīng)式定制網(wǎng)站< /option>
< option value="3">8000起步-營銷型企業(yè)網(wǎng)站< /option>
< /select>
< /div>
< div class="forms_item">
< span>自我介紹:< /span>
< textarea name="uinfo" id="uinfo" cols="30" rows="10">< /textarea>
< /div>
< div class="forms_item">
< input type="submit" value="提交">
< /div>
< /form>
php前臺接收數(shù)據(jù)的時(shí)候,表單中,通過name屬性來區(qū)分?jǐn)?shù)據(jù)類型,接收的時(shí)候也是通過$_POST['name值']來存儲數(shù)據(jù)。因此先對數(shù)據(jù)進(jìn)行處理:
$uname = $_POST['uname'];
$upass = $_POST['upass'];
$ulick = $_POST['ulick'];
$usex = $_POST['usex'];
$uxl = $_POST['uxl'];
$uinfo = $_POST['uinfo'];
在這里就不模擬,數(shù)據(jù)如何存入數(shù)據(jù)庫里,數(shù)據(jù)存入數(shù)據(jù)庫和取出,無非就是連接數(shù)據(jù)庫-存入數(shù)據(jù)庫-取出數(shù)據(jù)。這里強(qiáng)調(diào)一下的是,多選按鈕,因?yàn)橛卸鄠€(gè)值是可選的,因此,php獲取到的是一個(gè)數(shù)組,存入數(shù)據(jù)庫的時(shí)候,可以通過impload()處理成字符串存入數(shù)據(jù)庫里,取出的時(shí)候,在通過eximpload()還原出來就可以了。在post.php接收到數(shù)據(jù)之后,直接在這個(gè)頁面進(jìn)行渲染,樣式可以和前面的HTML樣式一致。代碼如下:
<div class="forms">
<div class="forms_item">
<span>姓名:</span>
<input type="text" name="uname" id="uname" value="<? echo $uname; ?>" />
</div>
<div class="forms_item">
<span>網(wǎng)站建設(shè)類型:</span>
<input type="checkbox" name="ulick[]" value="0" <? if(in_array('0',$ulick)) echo 'checked';?> />企業(yè)網(wǎng)站建設(shè)
<input type="checkbox" name="ulick[]" value="1" <? if(in_array('1',$ulick)) echo 'checked';?> />營銷型網(wǎng)站建設(shè)
<input type="checkbox" name="ulick[]" value="2" <? if(in_array('2',$ulick)) echo 'checked';?> />響應(yīng)式網(wǎng)站建設(shè)
<input type="checkbox" name="ulick[]" value="3" <? if(in_array('3',$ulick)) echo 'checked';?> />商城網(wǎng)站制作
</div>
<div class="forms_item">
<span>網(wǎng)站建設(shè)方式:</span>
<input type="radio" name="usex" id="" value="0" <? if($usex == '0') echo 'checked' ;?> /> 建站公司開發(fā)
<input type="radio" name="usex" id="" value="1" <? if($usex == '1') echo 'checked' ;?> /> 模版建站
</div>
<div class="forms_item">
<span>網(wǎng)站制作價(jià)格:</span>
<select name="uxl">
<option value="0" <? if($uxl == '0') echo 'selected' ;?> >1200元-模版網(wǎng)站</option>
<option value="1" <? if($uxl == '1') echo 'selected' ;?> >3000起步-定制網(wǎng)站</option>
<option value="2" <? if($uxl == '2') echo 'selected' ;?> >6000起步-響應(yīng)式定制網(wǎng)站</option>
<option value="3" <? if($uxl == '3') echo 'selected' ;?> >8000起步-營銷型企業(yè)網(wǎng)站</option>
</select>
</div>
<div class="forms_item">
<span>自我介紹:</span> <textarea name="uinfo" id="uinfo" cols="30" rows="10" ><? echo $uinfo;?></textarea>
</div>
</div>