2016-09-08 2 views
-3

PHP 로의 첫 번째 시도와 나는별로 행운이 없습니다.html + php 제출 양식이 mysql에 삽입되지 않습니다.

데이터베이스는 같은 순서로 에 필요한 테이블과 phpMyAdmin을 만들어집니다 우분투 14.04.1 LTS를 실행 해요 5.5.49 - MariaDB-1ubuntu0.14.04.1 (우분투) PHP 5.5.9-1ubuntu4.19 (a.html의 CLI)

내용 : aplicatie.php의

<form method="post" action="aplicatie.php" name="ClaimForm" id="ClaimForm" autocomplete="on"> 
<fieldset> 
    <legend>Completeaza detaliile tale:</legend> 
    <div> 
     <label for="numecont" accesskey="U">Numele contului</label> 
     <input name="numecont" type="text" id="numecont" placeholder="ex: RSC_Alex" required /> 
    </div> 
    <div> 
     <label for="wn8overall" accesskey="U">WN8 Actual</label> 
     <input name="wn8overall" type="text" id="wn8overall" placeholder="ex: 1800" required /> 
    </div> 
    <div> 
     <label for="wn8recent">WN8 Recent</label> 
     <input name="wn8recent" type="text" id="wn8recent" placeholder="ex: 2700" required /> 
    </div> 
    <div> 
     <label for="email" accesskey="E">Email</label> 
     <input name="email" type="email" id="email" placeholder="ex: [email protected]" pattern="^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$" required /> 
    </div> 
    <label for="tara">Tara de resedinta</label> 
    <input name="tara" type="text" id="tara" placeholder="ex: Romania" required />. 
    <div> 
     <label for="zileonline" accesskey="X">Cate zile pe saptamana poti fi activ incepand cu ora 20:00 (GMT+2)?</label> 
     <select name="zileonline" id="zileonline" required="required"> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
     </select> 
    </div> 
</fieldset> 
<fieldset> 
    <legend>Tancuri disponibile in garaj</legend> 
    <div> 
     <label for="tank10" accesskey="S">Numar de tancuri de nivel 10</label> 
     <select name="tank10" id="tank10" required="required"> 
      <option value="0">0</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
      <option value="8">8</option> 
      <option value="9">9</option> 
      <option value="10">10</option> 
      <option value="peste10"> >10</option> 
     </select> 
    </div> 
    <div> 
     <label for="tank8" accesskey="C">Numar de tancuri de nivel 8</label> 
     <select name="tank8" id="tank8" required="required"> 
      <option value="0">0</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="peste5"> >5</option> 
     </select> 
    </div> 
    <div> 
     <label for="careclan" accesskey="T">Pentru care din clanuri doresti sa aplici?</label> 
     <select name="careclan" id="careclan" required="required"> 
      <option value="ARCAN">ARCAN</option> 
      <option value="ARKNE">ARKNE</option> 
      <option value="ARKAN">ARKAN</option> 
     </select> 
    </div> 
</fieldset> 
<input type="submit" class="submit" id="submit" value="Vreau sa aplic" /> 

내용 :

<?php 
$mysql_host  = "localhost"; 
$mysql_username = "root"; 
$mysql_password = "pass"; 
$mysql_database = "aplicatii"; 

$conn= new mysqli ($mysql_host,$mysql_username,$mysql_password,$mysql_database); 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
echo "Connected successfully"; 

$prepare="INSERT INTO `aplicatii1` (`wn8overall`,`wn8recent`,`email`,`zileonline`,`tara`,`tank10`,`tank8`,`careclan`,`numecont`) VALUES ($_POST['wn8overall'], $_POST['wn8recent'], $_POST['email'], $_POST['zileonline'], $_POST['tara'], $_POST['tank10'], $_POST['tank8'], $_POST['careclan'], $_POST['numecont'])"; 
if ($conn->query($prepare) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $prepare . "<br>" . $conn->error; 
} 
mysqli_close($conn); 
?> 
+3

첫 번째 - ablout 따옴표, then - prepared statements에 대해 알아보십시오. –

+0

$ _POST 변수를 {} 안에 넣으면 쿼리가 다음과 같이됩니다 : $ prepare = "INSERT INTO'aplicatii1' ('wn8overall','wn8recent','email','zileonline','tara','tank10' $ _POST [ 'wn8overall']}, {$ _POST [ 'wn8recent']}, {$ _POST [ 'email']}, {$ _POST [ ' {$ _POST [ 'tank10']}, {$ _POST [ 'tank8']}, {$ _POST [ 'careclan']}, {$ _POST [ ' numecont ']}) "; 또한 http://www.trans4mind.com/personal_development/phpTutorial/quotes.htm을 참조하십시오 –

+0

매우 도움이되는 동료 – user3295102

답변

0

이 시도 :

$servername = "localhost"; //host name 

$username = "username"; //username 

$password = "password"; //password 

$database = "dbname"; //database name 

//mysqli prepared statement 

$conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error()); 

mysqli_select_db($conn,$database) or die("Opps some thing went wrong"); 
$Wn8overall = mysqli_real_escape_string($_POST['wn8overall']); 
$Wn8recent = mysqli_real_escape_string($_POST['wn8recent']); 
$Email = mysqli_real_escape_string($_POST['email']); 
$Zileonline = mysqli_real_escape_string($_POST['zileonline']); 
$Tara = mysqli_real_escape_string($_POST['tara']); 
$Tank10 = mysqli_real_escape_string($_POST['tank10']); 
$Tank8 = mysqli_real_escape_string($_POST['tank8]); 
$Careclan = mysqli_real_escape_string($_POST['careclan']); 
$Numecont = mysqli_real_escape_string($_POST['numecont']); 

$stmt = $conn->prepare("INSERT INTO aplicatii1 (wn8overall,wn8recent,email,zileonline,tara,tank10,tank8,careclan,numecont) VALUES (?,?,?,?,?,?,?,?,?)"); 

$stmt->bind_param('sssssssss',$Wn8overall,$Wn8recent,$Email,$Zileonline,$Tara,$Tank10,$Tank8,$Careclan$Numecont); 
      /* 
       The argument may be one of four types: 

          i - integer 
          d - double 
          s - string 
          b - BLOB 
          change it by respectively 
      */ 
$stmt->execute(); 

$row_count= $stmt->affected_rows; 

$stmt->close(); 
$conn->close(); 

if($row_count>0){ 
    echo "New record created successfully"; 
} 
else{ 

} 
0

오류는 변수를 제출하는 경우 버튼을 삽입 성명과 함께 해당 이름을 가지고 있어야 제출하는 다음 문장에있다 코딩 표준에 따라 따옴표와 bacticks의 사용법으로. You have not closed the form as per the Question you have provided

HTML 내용 :

<form method="post" action="aplicatie.php" name="ClaimForm" id="ClaimForm" autocomplete="on"> 
<fieldset> 
    <legend>Completeaza detaliile tale:</legend> 
    <div> 
     <label for="numecont" accesskey="U">Numele contului</label> 
     <input name="numecont" type="text" id="numecont" placeholder="ex: RSC_Alex" required /> 
    </div> 
    <div> 
     <label for="wn8overall" accesskey="U">WN8 Actual</label> 
     <input name="wn8overall" type="text" id="wn8overall" placeholder="ex: 1800" required /> 
    </div> 
    <div> 
     <label for="wn8recent">WN8 Recent</label> 
     <input name="wn8recent" type="text" id="wn8recent" placeholder="ex: 2700" required /> 
    </div> 
    <div> 
     <label for="email" accesskey="E">Email</label> 
     <input name="email" type="email" id="email" placeholder="ex: [email protected]" pattern="^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$" required /> 
    </div> 
    <label for="tara">Tara de resedinta</label> 
    <input name="tara" type="text" id="tara" placeholder="ex: Romania" required />. 
    <div> 
     <label for="zileonline" accesskey="X">Cate zile pe saptamana poti fi activ incepand cu ora 20:00 (GMT+2)?</label> 
     <select name="zileonline" id="zileonline" required="required"> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
     </select> 
    </div> 
</fieldset> 
<fieldset> 
    <legend>Tancuri disponibile in garaj</legend> 
    <div> 
     <label for="tank10" accesskey="S">Numar de tancuri de nivel 10</label> 
     <select name="tank10" id="tank10" required="required"> 
      <option value="0">0</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="6">6</option> 
      <option value="7">7</option> 
      <option value="8">8</option> 
      <option value="9">9</option> 
      <option value="10">10</option> 
      <option value="peste10"> >10</option> 
     </select> 
    </div> 
    <div> 
     <label for="tank8" accesskey="C">Numar de tancuri de nivel 8</label> 
     <select name="tank8" id="tank8" required="required"> 
      <option value="0">0</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
      <option value="5">5</option> 
      <option value="peste5"> >5</option> 
     </select> 
    </div> 
    <div> 
     <label for="careclan" accesskey="T">Pentru care din clanuri doresti sa aplici?</label> 
     <select name="careclan" id="careclan" required="required"> 
      <option value="ARCAN">ARCAN</option> 
      <option value="ARKNE">ARKNE</option> 
      <option value="ARKAN">ARKAN</option> 
     </select> 
    </div> 
</fieldset> 
<input type="submit" name="save_form" class="submit" id="submit" value="Vreau sa aplic" /> 
</form> 

aplicatie.php mysqli.* 매개 변수화 문장의 사용의 새로운 표준에 따라

<?php 
$host  = "localhost"; 
$username = "root"; 
$password = "pass"; 
$db = "aplicatii"; 
$con = new mysqli($host,$username,$password,$db); 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
echo "Connected successfully"; 
if(isset($_POST['save_form']))// Here the form method will executed if it is Submitted 
{ 
$prepare="INSERT INTO `aplicatii1` (`wn8overall`,`wn8recent`,`email`,`zileonline`,`tara`,`tank10`,`tank8`,`careclan`,`numecont`) VALUES ('".$_POST['wn8overall']."','".$_POST['wn8recent']."','".$_POST['email']."','".$_POST['zileonline']."','".$_POST['tara']."','".$_POST['tank10']."','".$_POST['tank8']."','".$_POST['careclan']."','".$_POST['numecont']."'')"; 
$results = $con->prepare($prepare);// Prepare the Statements Here 
$results->execute();// Execute the Statement Here 
$results->close();// Close the Executed Statement Here 
} 
?> 

혼자 더 좋습니다. 그러나 온라인에서 실행하지 않을 것 같아서이 방법을 사용하면 오류가 해소되기를 바랍니다. 이 코드를 실행 한 후에이 코드에 대해 생각해보십시오.

+0

테이블에 아무것도 얻지 못합니다. MySQL이 빈 결과 집합을 반환했습니다 (즉, 0 행). (쿼리 소요 0.0005 초) – user3295102

+0

열을 올바르게 설정 했습니까? http://arcan.ro/Capture.PNG – user3295102

+0

@ user3295102. 테이블에 대해 자동 증가 ID를 갖는 것이 더 좋으며 테이블 필드 값이 너무 작습니다. 입력란에 입력 한 값보다 큰 값을 제공하고 확인하십시오. (예) 모든 테이블 값을 100으로 제공하고 시도하십시오. 만약 당신이 얼굴에 오류가 발생하면 DB 연결을 확인하십시오. 그렇지 않으면 오류가 다시 발생하면 알려주십시오. –

관련 문제