2016-07-28 87 views
-5

我想将我的if else结构转换为开关盒如何将其更改为开关盒。如果将其他结构转换为开关盒结构

<?php 
    header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim  ajax Calling request 
mysql_connect("localhost","root",""); 
mysql_select_db("ocean"); 
if(isset($_GET['type'])) 
    { 
    $res = []; 


    if($_GET['type'] =="add"){ 
    $name = $_GET ['Name']; 
    $lname = $_GET['Lname']; 
    $userN = $_GET['User']; 
    $passW = $_GET['Pass']; 
    $gen = $_GET['Gender']; 
    $mail = $_GET ['Email']; 
    $mobile = $_GET ['Mobile']; 
    $address= $_GET['Address']; 

    $query1="select uid from oops where email='$mail'"; 
    $result1= mysql_query($query1); 
    if(mysql_num_rows($result1)>0){ 
     $res["flag"]= TRUE; 
     $rest["message"] = "There is already a user with that email!"; 
    }else{ 
    $query1 = "insert into oops(username, password, firstname, lastname, gender, email, mobile, address) values('$userN','$passW','$name','$lname','$gen','$mail','$mobile','$address')"; 
    $result1 = mysql_query($query1); 

    if($result1) 
    { 
     $res["flag"] = true; 
     $rest["message"] = "Data Inserted Successfully"; 
    } 
    else 
    { 
     $res["flag"] = false; 
     $rest["message"] = "Oppes Errors"; 
    } 
    } 

    } 
    if($_GET['type'] =="edit") { 
     $id=$_GET['id']; 
    $name = $_GET ['Name']; 
    $lname = $_GET['Lname']; 
    $userN = $_GET['User']; 
    $passW = $_GET['Pass']; 
    $gen = $_GET['Gender']; 
    $mail = $_GET ['Email']; 
    $mobile = $_GET ['Mob']; 
    $address= $_GET['Address']; 
    //$id = $_GET['id']; 
    // echo var_dump($_GET); 
    $query1 =("UPDATE oops SET username = '$userN',password = '$passW', firstname= '$name',lastname='$lname',gender = '$gen', email = '$mail', mobile = '$mobile' , address = '$address' WHERE uid = '$id'")or die('fail to update'); 
    $result1 = mysql_query($query1); 
    if($result1) 
    { 
     $res["flag"] = true; 
     $rest["message"] = "Data Updated Successfully"; 
    } 
    else 
    { 
     $res["flag"] = false; 
     $rest["message"] = "Oppes Errors"; 
    } 
    } 
    if($_GET['type'] == "delete"){ 
     $id=$_GET['id']; 

     $query1=("DELETE FROM oops WHERE uid='$id'"); 
     $result1= mysql_query($query1); 
     if($result1){ 
      $res["flag"] = true; 
      $rest["message"] = "User deleted Successfully"; 
      // header("location:client.php"); 
     } 
     else{ 
     $res["flag"] = false; 
     $rest["message"] = "Oppes Errors"; 
     } 
    } 

} 

else{ 
$res["flag"] = false; 
$rest["message"] = "Invalid format"; 
} 

echo json_encode($rest); 

?> 

我不知道该怎么做,我怎么isset($_GET['type'])值的值保存到变量同一页上

+5

强制性的,你具备的,SQL注入的漏洞,和'mysql_ *'-is过时,评论。 –

+3

必读:[我怎样才能防止SQL注入在PHP?](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)和[为什么shouldn'我在PHP中使用mysql_ *函数?](https://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 –

+6

呃,你还使用纯文本密码?这是我长期以来看到的最差的代码。阅读这也是:http://plaintextoffenders.com/faq/devs –

回答

0
switch($_GET['type']) { 
    case "add": 
     //do something 
     break; 
    case "delete": 
     // do something else etc 

    default: 
     //if none of the cases apply, do something here (same as else in if-elseif-else) 
} 
+0

我在我的代码中编辑但它将空的结果存储到数据库中 – oceanier

+0

我得到了结果感谢您的帮助 – oceanier

0
switch($_GET['type']) { 
    case "add": insert code here; break; 
    case "edit": insert code here; break; 
    case "delete": insert code here; break; 
    default: insert code of last 'else' here; 
} 

http://php.net/manual/en/control-structures.switch.php

也请考虑的意见Alexander O'Mara关于消毒用户输入和使用最新功能。 mysql_(没有结尾的'i')函数从PHP 5.5.0开始已弃用,并且已从PHP 7中删除。

0

您可以将类型存储到变量中并使用开关

$type = $_GET['type']; 
switch($type){ 
    case "add": 
    .. 
    break; 
    case "edit": 
    .. 
    break; 
} 

Switch