2017-01-25 10 views
0

valid()およびinsert()関数を作成しましたが、フォームの有効性を確認する方法がわかりません.i検証チェック後にのみinsert()関数を呼び出します。 私は基本的なhtmlフォームコードを削除しました。
view.phpPHPでMVS構造体を使用したフォーム検証

<?php 
include('../controller/control.php'); 
if(isset($_REQUEST['submit'])) 
{ 
    $u = $_REQUEST['fname']; 
    $p = $_REQUEST['lname']; 
    $i = $_FILES['pic']['name']; 
    $g = $_REQUEST['gender']; 
    $c = $_REQUEST['country']; 
    $s = $_REQUEST['state']; 
    $ci = $_REQUEST['city']; 
    $z = $_REQUEST['zipcode']; 
    $cno = $_REQUEST['cno'];  
    $h = $_REQUEST['hobby']; 
    $chk=""; 
    if($h) 
    { 
     foreach($h as $chk1) 
     { 
      $chk .= $chk1.","; 
     } 
    }  
    $a = $_REQUEST['address']; 
    $pdf = $_FILES['pdf']['name']; 
    move_uploaded_file($_FILES['pic']['tmp_name'],"upload/".$_FILES['pic']['name']); 
    move_uploaded_file($_FILES['pdf']['tmp_name'],"upload/".$_FILES['pdf']['name']);  
    $obj = new control(); 
    $obj->validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf); 
    $obj->insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf); 
    header("location:form.php"); 
} 
?> 

Controll.php

<?php 
include('../model/model.php'); 
class control 
{ 
    public function validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf) 
    { 
     $obj = new model(); 
     $obj->validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf); 
    } 
    public function insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf) 
    { 
     $obj = new model(); 
     $obj->insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf); 
    } 
} 

?> 

model.php

<?php 

class model 
{ 

    public function validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf) 
    { 
     if(empty($u)) 
     { 
      echo "<script>alert('Please enter Username')</script>"; 
     } 
     else if(empty($p)) 
     { 
      echo "<script>alert('Please enter password')</script>"; 
     } 

    } 
    public function model() 
    { 
     $mysqli = new mysqli("localhost", "root", "", "php_mvc"); 

    } 
    public function insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf) 
    { 
     $mysqli = new mysqli("localhost", "root", "", "php_mvc"); 
     $mysqli->query("INSERT INTO `php_mvc`.`form` (`fname`, `lname`, `pic`, `gender`, `country`, `state`, `city`, `zipcode`, `cno`, `hobby`, `address`, `pdf`) VALUES ('$u', '$p', '$i', '$g', '$c', '$s', '$ci', '$z', '$cno', '$chk', '$a', '$pdf');"); 

     if($mysqli) 
     { 
      echo "<script>alert('Inserted Successfully')</script>"; 
     } 
      header("location:form.php"); 

    } 

} 

?> 
+0

戻りブール値(真/偽)モデルのあなたのvalidate()メソッドから。 valdationが失敗した場合はfalseを返します。次に、戻り値がtrueであるかどうかを確認し、insertだけを呼び出します。 –

+0

私は試しましたが、model.phpのvalidate()からview.phpへの値を得ることができませんでした –

+0

あなた自身の行を保存してください '$ chk = implode( '、'、$ h ?? []);' $ chk = implode( '、'、$ h?$ h:[]); '(PHP 5) –

答えて

1

View.php

<?php 
include('../controller/control.php'); 
if(isset($_REQUEST['submit'])) 
{ 
    $u = $_REQUEST['fname']; 
    $p = $_REQUEST['lname']; 
    $i = $_FILES['pic']['name']; 
    $g = $_REQUEST['gender']; 
    $c = $_REQUEST['country']; 
    $s = $_REQUEST['state']; 
    $ci = $_REQUEST['city']; 
    $z = $_REQUEST['zipcode']; 
    $cno = $_REQUEST['cno'];  
    $h = $_REQUEST['hobby']; 
    $chk=""; 
    if($h) 
    { 
     foreach($h as $chk1) 
     { 
      $chk .= $chk1.","; 
     } 
    }  
    $a = $_REQUEST['address']; 
    $pdf = $_FILES['pdf']['name']; 
    move_uploaded_file($_FILES['pic']['tmp_name'],"upload/".$_FILES['pic']['name']); 
    move_uploaded_file($_FILES['pdf']['tmp_name'],"upload/".$_FILES['pdf']['name']);  
    $obj = new control(); 

    if($obj->validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf)){ 
    $obj->insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf); 
    } 
    header("location:form.php"); 
} 
?> 

Controll.php

<?php 
include('../model/model.php'); 
class control 
{ 
    public function validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf) 
    { 
     $obj = new model(); 
     return $obj->validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf); 
    } 
    public function insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf) 
    { 
     $obj = new model(); 
     $obj->insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf); 
    } 
} 

?> 

model.php

<?php 

class model 
{ 

    public function validate($u,$p,$i,$c,$s,$ci,$z,$cno,$a,$pdf) 
    { 
     if(empty($u)) 
     { 
      echo "<script>alert('Please enter Username')</script>"; 
      return false; 
     } 
     else if(empty($p)) 
     { 
      echo "<script>alert('Please enter password')</script>"; 
      return false; 
     } 
     return true; 
    } 
    public function model() 
    { 
     $mysqli = new mysqli("localhost", "root", "", "php_mvc"); 

    } 
    public function insert($u,$p,$i,$g,$c,$s,$ci,$z,$cno,$chk,$a,$pdf) 
    { 
     $mysqli = new mysqli("localhost", "root", "", "php_mvc"); 
     $mysqli->query("INSERT INTO `php_mvc`.`form` (`fname`, `lname`, `pic`, `gender`, `country`, `state`, `city`, `zipcode`, `cno`, `hobby`, `address`, `pdf`) VALUES ('$u', '$p', '$i', '$g', '$c', '$s', '$ci', '$z', '$cno', '$chk', '$a', '$pdf');"); 

     if($mysqli) 
     { 
      echo "<script>alert('Inserted Successfully')</script>"; 
     } 
      header("location:form.php"); 

    } 

} 

?> 
関連する問題