2013-12-20 4 views
1

У меня есть HTML-форма на веб-странице. Данные из этой формы получена на странице PHP, который хранит эти данные в базе данных MySQL (< форма действия = URL этой страницы ....)Представление HTML-формы на существующую веб-страницу

код этой страницы PHP:.

<?php 

define('DB_NAME','temp'); 
define('DB_USER','root'); 
define('DB_PASSWORD',''); 
define('DB_HOST','localhost'); 

// Create connection 
$link=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD); 

// Check connection 
if (!$link) 
{ 
    die('Failed to connect to MySQL: ' . mysql_error()); 
} 

$db_selected = mysql_select_db (DB_NAME, $link); 

if(!$db_selected) { 
    die(' Can\'t use ' . DB_NAME . ' : ' . mysql_error()); 
} 

$rollNo = $_POST['rollNo']; 
$password = $_POST['password']; 
$name = $_POST['name']; 
$item = $_POST['item']; 
$place = $_POST['place']; 
$description = $_POST['description']; 
$contact = $_POST['contact']; 

$sql = "INSERT INTO tempstore(rollNo, password, name, item, place, description, contact) VALUES('$rollNo', '$password', '$name', '$item', '$place', '$description', '$contact') "; 
if (!mysql_query($sql)) { 
    die ('Error : ' . mysql_error()); 
} 

mysql_close(); 
?> 

It работает отлично. Но мне нужен тот же код на другой существующей php-странице. Для этого, когда я добавляю этот код на уже существующую php-страницу и присваиваю ей значение атрибута действия формы, проблема в том, что, когда эта страница php обращается напрямую, она показывает ошибки (неопределенный индекс: «rollNo», «пароль» .. .). Я думаю, это потому, что он не получил никаких данных из формы.

Какие изменения следует внести в этом коде, чтобы он работал в обоих случаях: 1. Когда пользователь открывает страницу напрямую. 2. Когда браузер перенаправляется после отправки формы.

+2

проверка всех ваших параметров с 'isset' функция – k102

+0

Вы установите' метод form' элемента в 'Post'? По умолчанию (если не указано) используется 'get'. – BenM

+0

да у меня есть. извините, я забыл упомянуть. –

ответ

0

Пожалуйста, замените этот PHP код

if(isset($_POST['rollNo'])&& isset($_POST['password']) && isset($_POST['name'])&& isset($_POST['item'])){ 
$rollNo = $_POST['rollNo']; 
$password = $_POST['password']; 
$name = $_POST['name']; 
$item = $_POST['item']; 
$place = $_POST['place']; 
$description = $_POST['description']; 
$contact = $_POST['contact']; 

$sql = "INSERT INTO tempstore(rollNo, password, name, item, place, description, contact) VALUES('$rollNo', '$password', '$name', '$item', '$place', '$description', '$contact') "; 
if (!mysql_query($sql)) { 
    die ('Error : ' . mysql_error()); 
} 
} 

К

$rollNo = $_POST['rollNo']; 
$password = $_POST['password']; 
$name = $_POST['name']; 
$item = $_POST['item']; 
$place = $_POST['place']; 
$description = $_POST['description']; 
$contact = $_POST['contact']; 

$sql = "INSERT INTO tempstore(rollNo, password, name, item, place, description, contact) VALUES('$rollNo', '$password', '$name', '$item', '$place', '$description', '$contact') "; 
if (!mysql_query($sql)) { 
    die ('Error : ' . mysql_error()); 
} 

mysql_close(); 
+0

почему вы не сказали мне, что вы хотите, во-первых, –

+0

Это работает. Я очень хорошо вижу веб-страницу. Благодарю. Хотя по какой-то причине форма сохраняется на старой странице, которую я создал (только с php-кодом). Я изменил значение атрибута действия на этот URL-адрес существующей php-страницы. Я не знаю, что я делаю неправильно. –

+0

Извините, теперь он работает отлично. незначительная ошибка. Большое спасибо. –

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