2015-12-01 4 views
-2

Сегодня у меня возникли проблемы с mysql, php и html.php не будет вставлять данные в базу данных

Так я назвал базы данных «gebruikers» в этой базе данных у меня есть таблица под названием «registratie», и я использую USBwebserver v8.6 для хостинга

я сделал форму для людей, чтобы зарегистрировать их для сайт, который я планирую сделать, но то, что я натыкаюсь на то, что, когда я нажимаю «inschrijven», он не будет вставлять данные, введенные в форму в мою базу данных, я посмотрел на stackoverflow, но я не смог найти решение ответа к моей проблеме.

PHP:

<?php 
session_start(); 
include_once 'dbconnect.php'; 
$gebruikersnaam = mysql_real_escape_string($post['gebruikersnaam']); 
$wachtwoord = mysql_real_escape_string($post['wachtwoord']); 
$voornaam = mysql_real_escape_string($post['voornaam']); 
$tussenvoegsel = mysql_real_escape_string($post['tussenvoegsel']); 
$achternaam = mysql_real_escape_string($post['achternaam']); 
$klas = mysql_real_escape_string($post['klas']); 
$telefoon = mysql_real_escape_string($spot['telefoon']); 
$geboortedatum = mysql_real_escape_string($post['geboortedatum']); 
$email = mysql_real_escape_string($post['email']); 
$geslacht = mysql_real_escape_string($post['geslacht']); 

if(mysql_query("INSERT INTO gebruikers(gebruikersnaam,) VALUES('$gebruikersnaam')" 
?> 

HTML:

<body> 

    <div id=titel> 
     <a href=index.html><img src="images/logo.jpg" alt="Homepage"id=logo></a> 
    Registratie 
    </div> 

    <div id=registratie> 
     form method="post"> 
     Gebruikersnaam: 
     <input type="text" name="gebruikersnaam"> 
     <br> 
     <br> 
     Wachtwoord: 
     <input type="password" name="wachtwoord"> 
     <br> 
     <br> 
     Voornaam: 
     <input type="text" name="voornaam"> 
     <br> 
     <br> 
     Tussenvoegsel: 
     <input type="text"name="tussenvoegsel"> 
     <br> 
     <br> 
     Achternaam: 
     <input type="text" name="achternaam"> 
     <br> 
     <br> 
     Klas: 
     <input type="text" name="klas"> 
     <br> 
     <br> 
     Telefoon: 
     <input type="tel" name="telefoon"> 
     <br> 
     <br> 
     Geboortedatum: 
     <input type="date" name="geboortedatum"> 
     <br> 
     <br> 
     Email: 
     <input type="email" name="email"> 
     <br> 
     <br> 
     Geslacht: 
     <br> 
     <select> 
     <option value="Man">Man</option> 
     <option value="Vrouw">Vrouw</option> 
     </select> 
     <br> 
     <br> 
     <input type="submit" onclick="alert('Registratie voltooid')" value="Inschrijven"> 
     </form> 

     <a href=index.html id="button">Terug naar hoofdpagina</a> 
     </div> 

</body> 

я действительно надеюсь, что это может помочь вам, ребята из. это мой DBCONNECT.PHP:

<?php 
if(!mysql_connect("localhost", "root", "usbw", "gebruikers")) 
{ 
    die('connection problem.' .mysql_error()); 
} 
if(!mysql_select_db("gebruikers")) 
{ 
    die('No database selected' .mysql_error()); 
} 
include 
?> 

я действительно надеюсь, что вы, ребята, могли бы помочь мне, потому что я из идей, как я могу исправить эту проблему, и я не знаю, где моя проблема лежит.

ПРИМЕЧАНИЕ: некоторые слова находятся на голландском языке.

+0

удалить **, ** вставить запрос –

+3

** Предупреждение **: вы используете [** устаревший ** API базы данных] (http: // stackoverflow.com/q/12859942/19068) и должен использовать [современную замену] (http://php.net/manual/en/mysqlinfo.api.choosing.php). – Quentin

+0

Вы проверяете, есть ли какие-либо ошибки при подключении к базе данных, но вы не делаете этого при попытке выполнить запрос. Разве вы не думаете, что это может быть полезно? – Quentin

ответ

0

Вы имея здесь ошибка

if(mysql_query("INSERT INTO gebruikers(gebruikersnaam,) VALUES('$gebruikersnaam')" 

Это должно быть как

if(mysql_query("INSERT INTO gebruikers(gebruikersnaam) VALUES('$gebruikersnaam')")){ 
    // if true do some stuff if you need 
} 
?> 

так в вашем запросе у вас есть лишняя запятая (,), то отсутствует закрывающие скобки и в конце концов вы отсутствует, если скобки, если вам нужно сделать некоторые операции в нем

0

Смените

if(mysql_query("INSERT INTO gebruikers(gebruikersnaam,) VALUES('$gebruikersnaam')" 

в

$insert=mysql_query("INSERT INTO gebruikers(gebruikersnaam,) VALUES('$gebruikersnaam')") or die(mysql_error()); 
    if($insert){ 
     //do your stuff 
    } 
+0

в if ($ insert), должен ли я поместить свой PHP-код в базу данных? – Gandalf

+0

Нет, в if ($ insert) {} вы помещаете все, что хотите после вставки в базу данных, $ insert = mysql_query .... уже вставляет в БД ... done –

0

Вы имея здесь ошибка

if(mysql_query("INSERT INTO gebruikers(gebruikersnaam,) 
VALUES('$gebruikersnaam')" 

Это должно быть как

if(mysql_query("INSERT INTO gebruikers(gebruikersnaam) 
VALUES('$gebruikersnaam')"){} 
?> 

я заменил свой код с вашими, но он все равно не будет вставить данные, которые я ввел в форму в базу данных, спасибо за размышление со мной. оценивая

+1

Требуется 2 закрывающая скобка. у вас есть только один – Standej

+0

, да, извините, я полный новобранец, я использовал ваш код вместо моего, а затем правильно? – Gandalf

0

Правильно не вызывать переменные POST.

$gebruikersnaam = mysql_real_escape_string($post['gebruikersnaam']); 

Должно быть:

$gebruikersnaam = mysql_real_escape_string($_POST['gebruikersnaam']); 

Кроме того, it's a bad habit to throw die() functions for minor things как обработка базы данных, так как это убивает остальную часть функциональности страницы.

+0

Всякий раз, когда запросы не работают, вы можете попробовать ввести исходный SQL в базу данных, чтобы убедиться, что синтаксис SQL не нарушен. Кроме того, при использовании в них переменных полезно проверить правильность определения переменных, повторив их перед оператором запроса (хотя это было бы трудно, если вы столкнулись с die(), прежде чем перейти к этому эху) – Ben