Я написал очень простую форму регистрации в HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Registration</title>
</head>
<body>
<form name="reg" action="code_exec.php" onsubmit="return validateForm()" method="post">
<table width="274" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="2">
<div align="center">
<?php
// $remarks=$_GET['remarks'];
if (!isset($_GET['remarks']))
{
echo 'Register Here';
}
if (isset($_GET['remarks']) && $_GET['remarks']=='success')
{
echo 'Registration Success';
}
?>
</div></td>
</tr>
<tr>
<td width="95"><div align="right">First Name:</div></td>
<td width="171"><input type="text" name="fname" /></td>
</tr>
<tr>
<td><div align="right">Last Name:</div></td>
<td><input type="text" name="lname" /></td>
</tr>
<tr>
<td><div align="right">Gender:</div></td>
<td><input type="text" name="gender" /></td>
</tr>
<tr>
<td><div align="right">Address:</div></td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td><div align="right">Contact No.:</div></td>
<td><input type="text" name="contact" /></td>
</tr>
<tr>
<td><div align="right">Username:</div></td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td><div align="right">Password:</div></td>
<td><input type="text" name="password" /></td>
</tr>
<tr>
<td><div align="right"></div></td>
<td><input name="submit" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>
Я использую PHP для подключения моей HTML-страницы к базе данных MySQL на сервере XAMPP, установленном / настроенном локально.
Я разделил свое соединение и логику хранения данных на 2 разных .php
файлы:
<?php
$mysql_hostname = "localhost";
$mysql_user = "amitesh";
$mysql_password = "amitesh";
$mysql_database = "sign_up_form";
$prefix = "";
$bd = mysqli_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysqli_select_db($mysql_database,$bd) or die("Could not select database");
?>
<?php
session_start();
include('connection.php');
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$mname=$_POST['mname'];
$address=$_POST['address'];
$contact=$_POST['contact'];
$username=$_POST['username'];
$password=$_POST['password'];
mysqli_query($bd, "INSERT INTO member(fname, lname, gender, address, contact, username, password)VALUES('$fname', '$lname', '$mname', '$address', '$contact','$username', '$password')");
header("location: index.php?remarks=success");
mysqli_close($bd);
После того, как я вставляю данные на страницу, когда я нажимаю кнопку «отправить», он показывает мне код code_exec.php
файл вместо хранения данных в MySQL.
Я видел пару постов StackOverflow об этом, но ни один из них, похоже, не предлагал работающего решения моей проблемы.
Почему это может происходить?
Если <?php
теги и фактический код сайта отображаются на странице, то есть только два сценария:
Поскольку вы подтвердили, что XAMPP работает, я расскажу о втором сценарии, который является наиболее вероятным.
Внутри вашей установки XAMPP вы должны найти папку с именем htdocs
, Это папка, которая должна содержать любой веб-сайты, которые вы делаете, и все их PHP-кода — он действует как корневой каталог вашего веб-сервера (если вы использовали выделенный сервер, это эквивалентно /var/www/html/
). Сервер обрабатывает только файлы, которые содержатся в этой папке.
Если ваши файлы не находятся внутри этой папки, переместите их в нее (и удалите / переместите в другую папку любые файлы, которые ранее находились в этом каталоге).
Далее, вы не можете просто открыть эти файлы в своем веб-браузере, когда они находятся в папке — вам нужно перейти к ним через ваш локально размещенный веб-сайт.
Перейти к URL 127.0.0.1 или же локальный посетить ваш локальный веб-сайт. Это доступно только вам, на вашем компьютере, когда работает XAMPP, и отображает документы в htdocs
папка. Вы можете выбрать файл в этом списке, чтобы посетить его, и теперь он должен запускаться на вашем веб-сервере.
Отныне вам будет довольно легко работать с файлами на локальном веб-сервере. Конечно, в вашем коде все еще может быть ошибка PHP (я быстро проверил ее — все выглядит нормально, но я мог что-то упустить) — если это так, и вы застряли с отладкой, вы всегда можете спросить Еще один вопрос здесь, на StackOverflow!
В качестве бонуса, вы должны иметь возможность посетить 127.0.0.1/phpmyadmin/ с запущенным XAMPP для управления таблицами и базами данных MySQL через веб-интерфейс.
обратите внимание, что в этом случае вы не можете использовать встроенный сервер php. потому что ваш файл index.php не является фронт-контроллером. скопируйте свой код в каталог XAMPP htdocs и получите доступ к нему с помощью адреса localhost / your_directory_name.
и обратите внимание, что у вас есть ошибка в вашем файле connection.php.
в функции mysqli_select_db () первый параметр — это ссылка на mysqli, а второй — dbname.
замещать
mysqli_select_db($mysql_database,$bd) or die("Could not select database");
с
mysqli_select_db($bd, $mysql_database) or die("Could not select database");
Попробуйте построить ваше соединение так:
Mysqli_connect ($ mysql_hostname, $ mysql_user, $ mysql_password, $ mysql_database) или умри (mysqli_error)