2017-10-12 8 views
-3

데이터베이스에 선택된 라디오 버튼 값을 제출하려하지만이를 수행 할 수 없습니다. 누군가 나를 도와 줄 수 있습니까?xampp을 사용하여 데이터베이스에 라디오 버튼 값을 전송하는 방법

나는 youtube 비디오를 보았지만, 아직도 그것에 대해 정말로해야 할 일을 이해하지 못했습니다. 처음에는 라디오 버튼에 ID를 넣어야한다고 생각했지만 나중에 다른 게시물을 살펴볼 때 점점 더 혼란스러워졌습니다.

양식을 데이터베이스에 성공적으로 연결했는데 제출을 클릭하면 모든 입력 값이 게시되지만 성별 라디오 입력은 데이터베이스에 저장되지 않습니다.

도와주세요. 시간과 도움을 많이 주시면 감사하겠습니다!

first.html->

<!DOCTYPE html> 
<html> 

<head> 

    <meta charset="utf-8"> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous"> 

<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet"> 
<link href="https://fonts.googleapis.com/css?family=Merienda" rel="stylesheet"> 
<link href="https://fonts.googleapis.com/css?family=Alegreya+SC|Merienda" rel="stylesheet"> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
    <style> 

    h1{ 
    color: #27292b !important; 
    font-family: "Alegreya+SC"; 
    opacity: 0.85; 


    } 

    </style> 


<title>Innoccura Technologies Form Submission</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<body style="background:url(Work.jpg);background-repeat:no-repeat;background-size:100% 120%"> 

<div align="center"> 

<form id="myForm" name="form1" action="" method="post"> 

<table > 

<h1 align="center"> Innoccura Technologies Form Submission </h1> 
    <tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 
    <tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 
    <tr> 
    <div class="form-group"> 
    <div class="input-group"> 
     <td style=color:white;><b>First Name:</b></td> 
     <td><input type="text" placeholder="Enter your first name" class="form-control" name="t1" id="name"></td> 
    </div> 
    </tr> 
</tr> 
    <tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 



    <tr> 

     <div class="form-group"> 

     <td style=color:white;><b>Last Name:</b></td> 

     <td><input type="text" placeholder="Enter your last name" class="form-control" name="t0" id="lname"></td> 

    </tr> 
    <tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 



    <tr> 
     <td style=color:white;><b>Mobile Number:</b></td> 
     <td><input type="number" placeholder="Enter your mobile no." class="form-control" name="num" id="numb"></td> 
    </tr> 

    <tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 
    <tr> 
     <td style=color:white;><b>gender</b></td> 
     <td> 
       <input type="radio" name="g" value="male"> Male 
       <input type="radio" name="g" value="female"> Female<br> 
     </td> 

    <tr> 
    <tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 

    <tr> 
     <td style=color:white;><b>City :</b></td> 
     <td> 
      <select id="city" class="form-control"> 
       <option value="">Select</option> 
       <option value="Los Angeles">Los Angeles</option> 
       <option value="New York">New York</option> 
       <option value="Detroit">Detroit</option> 
       <option value="Ladson">Ladson</option> 
      </select> 
     </td> 
</tr> 

<tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 


<tr> 
<td style=color:white;><b>Enter Age</b></td> 
<td><input type="number" class="form-control" placeholder="Enter your age" name="t3" id="t3"></td> 
</tr> 
<tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 
<tr> 
<td style=color:white;><b>Address:</b></td> 
<td><input type="text" class="form-control" name="address" placeholder="Enter your address" id="address"></td> 
</tr> 
<tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 
    <tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 

<tr> 
<td colspan=2 align="center"><input type="button" class="form-control" name="submit" value="Submit" onclick="aa();"></td> 
</tr> 
<tr> 
     <td style="padding-bottom:20px"></td> 

    </tr> 

</div> 
</form> 



<script type="text/javascript"> 
function aa() 
{ 
var xmlhttp; 
xmlhttp=new XMLHttpRequest(); 
xmlhttp.open("GET","insert.php?nm="+document.getElementById("name").value+"&lt="+document.getElementById("lname").value+"&mb="+document.getElementById("numb").value+"&citi="+document.getElementById("city").value+"&age="+document.getElementById("t3").value+"&address="+document.getElementById("address").value,false); 
xmlhttp.send(null); 

} 


</script> 



</body> 
</html> 

<?php 


if($_POST["submit"]=="submit") 
{ 
$gender = $_POST["g"]; 

    mysql_connect("localhost","root",""); 
    mysql_select_db("test"); 

    $s="insert into tester(gender) values('".$gender."')"; 

    if(mysql_query($s)) 
     echo "Record Saved"; 
    else 
     echo mysql_error(); 
} 
?> 

이것은 insert.php

<html> 
<head> 
<title>Untitle Document</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 



</head> 
<body> 
<?php 

$nm=$_GET["nm"]; 
$lastname=$_GET["lt"]; 
$mobileNumber=$_GET["mb"]; 
//$gender=$_GET["gen"]; 
//$gender=$_GET["gend"]; 

$gender = $_POST["g"]; 
$city=$_GET["citi"]; 
$age=$_GET["age"]; 
$address=$_GET["address"]; 

var_dump($nm); 
var_dump($lastname); 
var_dump($mobileNumber); 
var_dump($gender); 
var_dump($city); 
var_dump($age); 
var_dump($address); 

mysql_connect("localhost","root",""); 
mysql_select_db("test"); 

mysql_query("INSERT INTO tester VALUES('$nm','$lastname','$mobileNumber','$gender','$city','$age','$address')"); 



?> 
</body> 

</html> 

내가 많이 봤 코드입니다하지만 난 라디오 버튼의 입력을 보내는의 개념을 이해할 수 없었다 데이터베이스에.

도와주세요.

+2

XAMPP이 문제로 아무것도 할 정말 hasen't. Btw,'mysql_ *'함수의 사용을 중단하십시오. 대신에'mysqli_ *'또는'PDO_ *'를 사용하십시오. 또한 http://bobby-tables.com에서 SQL 인젝션에 대해 배워보십시오 - 지금 당장 귀하의 코드는 실제로 취약하고 전혀 저장하지 않습니다. 시스템에 대한 더 깊은 지식 없이도 데이터베이스가 몇 초 안에 해킹 될 수 있습니다. 또한'GET'과'POST' 메소드의 차이점을 배우십시오. – Twinfriends

답변

0

http 요청의 쿼리 문자열에 g 라디오의 값을 게시하지 않습니다. 이것은 첫 번째 실수입니다.

그리고 을 포함 시키면 서버에 데이터를 전달하는 GET 방법이되므로 $ _POST 대신 $ _GET을 사용하십시오. 당신이 라디오 버튼을 선택하고 제출 버튼을 클릭하면

$gender = $_GET["g"]; 
0

, 당신은 $ _POST를 사용하여 PHP 코드에서 선택한 값의 제출을 ​​처리 할 필요가 [예를 들면 : 당신의 라디오 버튼 인 경우 :

<input type="radio" name="rdb" value="male"/> 

는 PHP 코드에서 당신은 사용할 필요가 :

$rdb_value = $_POST['rdb']; 
0
if(isset($_REQUEST['g'])) { $gender=$_REQUEST['g']; else{ $gender=""; }