2016-09-08 3 views
-3

Его первая попытка PHP, и мне не очень повезло.html + форма отправки php не может вставить в mysql

база данных создается в PHPMyAdmin с необходимыми таблицами в том порядке, Я бегу Ubuntu 14.04.1 LTS 5.5.49-MariaDB-1ubuntu0.14.04.1 (Ubuntu) PHP 5.5.9-1ubuntu4.19 (кли)

Содержание a.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" class="submit" id="submit" value="Vreau sa aplic" /> 

Содержание aplicatie.php:

<?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, затем - о подготовленных заявлениях. –

+0

Поместите переменные $ _POST внутри {}, чтобы ваш запрос стал: $ 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 ']}) "; также ссылаются на 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

<?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 
} 
?> 

Согласно новому стандарту на mysqli.* использование параметризованных утверждений в одиночку лучше и желательно. Но в соответствии с вашими ожиданиями, что вы не собираетесь работать в сети, вы можете использовать этот метод и надеяться, что он взломает вашу ошибку. Поделитесь мыслями об этом коде после его выполнения.

+0

Я все еще ничего не получаю в таблице. MySQL возвращает пустой набор результатов (т. е. нулевые строки). (Запрос занял 0.0005 сек) – user3295102

+0

Я правильно установил свои столбцы? http://arcan.ro/Capture.PNG – user3295102

+0

@ пользователь3295102. Лучше иметь значение «Auto Increment ID» для таблицы, а значения полей таблицы слишком минимальны. укажите значения, превышающие введенные вами в текстовом поле Input и проверяйте. (Пример). Укажите все значения таблиц равными 100 и попробуйте. Если это так, вы сталкиваетесь с ошибкой. Проверьте соединение с БД наконец, или дайте знать, если вы снова столкнетесь с ошибкой. –

Смежные вопросы