2009-12-11 2 views
-1

Я очень новичок в PHP, и у меня проблемы. У меня есть форма, использующая HTML, которая является действием = .php method = postphp form script

Форма использует текстовые поля и выбирает параметры, я не уверен, что она имеет значение в sqldatabase. Я пробовал около 30 различных комбинаций этого скрипта и могу получить сообщение об успешном подключении, но ничего не опубликовано.

<?php 
$link = mysql_connect('everybodyslistcom.ipagemysql.com', 'accounts', 'accounts'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_select_db("user"); 
$FName = $_POST["FName"]; 
$LName = $_POST["Lname"]; 
$Phone = $_POST["Phone"]; 
$EmailAddress = $_POST["EmailAddress"]; 
$Month = $_POST["Month"]; 
$Day = $_POST["Day"]; 
$Year = $_POST["Year"]; 
$Username = $_POST["Username"]; 
$Password = $_POST["Password"]; 

$sql = 'INSERT INTO Members (ID, FName, LName, Phone, EmailAddress, Month, Day, Year, Username, Password) VALUES' 
    . '(\'\', \'$FName\', \'$LName\', \'$Phone\', \'$EmailAddress\', \'$Month\', \'$Day\', \'$Year\', \'$Username\', \'$Password\')'; 

mysql_close(); 
php?> 

ответ

4

пытаются выполнить ваш запрос

mysql_query($sql); 

EDIT: Я вижу, что вы делаете это:

$sql = 'SELECT bla bal $variable'; 

PHP не разобрать переменную. Правильный путь:

$sql = "SELECT bla bla $variable"; // valid 
$sql = "SELECT bla bla {$variable}"; // also valid 
$sql = 'SELECT bla bla '.$variable; // also valid 
0

Вам нужно выполнить запрос тоже: mysql_query ($ SQL, $ ссылка);

2

ваше закрытие PHP тег не является правильным, оно должно быть

?> 

вместо

php?> 

Также ур не выполняет запрос, используя:

mysql_query('your query here'); 

это может привести к проблема.

1
  1. Ваши переменные не интерпретируются PHP. Если вы хотите, чтобы переменная была проанализирована в строке, она должна быть завернута в double-quote (")
  2. Это может быть неудачно, если какая-либо из ваших опубликованных данных содержит некоторый символ кавычки, поэтому вы должны применить mysql_real_escape_string ко всем из них.
  3. Я надеюсь, что учетные данные подключения к базе данных не являются реальными вы вывесили здесь: D
1

вы сказали, что ваша форма содержит «действие = .php» в буквальном смысле, вы должны превратить его в:

<form name="form_name" method="post" action="your_script.php"> 
0

вы также должны проверить, действительно ли отправлен POST:

if (!empty($_POST)) { 
    // ... your code here 
} 

следующая вещь: вам не нужно закрывающий тег> если ваш * .php файл состоит только PHP код - конец файла также правильный конец PHP блок кода - это «хорошо бы иметь «привычка, потому что в некоторых случаях это помогает избежать ошибок:« Невозможно добавить/изменить информацию заголовка - заголовки, уже отправленные ..."

Следующая проблема - неправильный способ вставки переменных в строку:

$sql = 'INSERT INTO Members (ID, FName, LName, Phone, EmailAddress, Month, Day, Year, Username, Password) VALUES' 
. '(\'\', \'$FName\', \'$LName\', \'$Phone\', \'$EmailAddress\', \'$Month\', \'$Day\', \'$Year\', \'$Username\', \'$Password\')'; 

правильный путь: более

$sql = "INSERT INTO Members (ID, FName, LName, Phone, EmailAddress, Month, Day, Year, Username, Password) VALUES (null, '$FName', '$LName', '$Phone', '$EmailAddress', '$Month', '$Day', '$Year', '$Username', '$Password')"; 

info here

дальше - как сказал Deniss, вместо:

$FName = $_POST["FName"]; 

должно быть:

$FName = mysql_real_escape_string($_POST["FName"]); 

на самом деле вы должны кулаку проверить погоду magic quotes gpc включены или выключены:

if (get_magic_quotes_gpc()) { 
    if (!empty($_POST)) { 
     array_walk_recursive($_POST, 'stripslashes_value'); 
    } 
} 
function stripslashes_value(&$value) { 
    $value = stripslashes($value); 
} 

без этого вы могли бы иметь проблемы с двойной \\ вставляется в дб (это зависит от вашего сервера конфигурация)

и последнее, но не менее важное: как Роберт сказал, что вы пропустите еще одну важную вещь:

mysql_query($sql); 
0

Я думаю, ваша ошибка, потому что вы еще не звоните mysql_query функцию

можно попробовать мой код Отредактируйте

<?php 
$link = mysql_connect('everybodyslistcom.ipagemysql.com', 'accounts', 'accounts'); 
if (!$link) { 
die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_select_db("user",$link); 
$FName = $_POST["FName"]; 
$LName = $_POST["Lname"]; 
$Phone = $_POST["Phone"]; 
$EmailAddress = $_POST["EmailAddress"]; 
$Month = $_POST["Month"]; 
$Day = $_POST["Day"]; 
$Year = $_POST["Year"]; 
$Username = $_POST["Username"]; 
$Password = $_POST["Password"]; 

$sql = "INSERT INTO Members SET FName='{$FName}', LName='{$LName}', Phone='{$Phone}', EmailAddress='{$EmailAddress}', Month='{$Month}', Day='{$Day}', Year='{$Year}', Username='{$Username}', Password='{$Password}'"; 
// Call Function mysql_query insert new record in mysql table 
mysql_query($sql,$link); 
mysql_close($link); 
?> 

комментарий для меня, если ваш есть проблемы :) или примечания апача услуг хороший день