html зарегистрироваться, не сохраняя данные в mysql

Я написал очень простую форму регистрации в 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 файлы:

connection.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");
?>

code_exec.php

<?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 об этом, но ни один из них, похоже, не предлагал работающего решения моей проблемы.

Почему это может происходить?

0

Решение

Вступление

Если <?php теги и фактический код сайта отображаются на странице, то есть только два сценария:

  1. XAMPP не работает или;
  2. Вы не переходите к файлу по веб-адресу 127.0.0.1.

Поскольку вы подтвердили, что XAMPP работает, я расскажу о втором сценарии, который является наиболее вероятным.

Вы не переходите к файлу по веб-адресу 127.0.0.1

Внутри вашей установки XAMPP вы должны найти папку с именем htdocs, Это папка, которая должна содержать любой веб-сайты, которые вы делаете, и все их PHP-кода — он действует как корневой каталог вашего веб-сервера (если вы использовали выделенный сервер, это эквивалентно /var/www/html/). Сервер обрабатывает только файлы, которые содержатся в этой папке.

Если ваши файлы не находятся внутри этой папки, переместите их в нее (и удалите / переместите в другую папку любые файлы, которые ранее находились в этом каталоге).

Далее, вы не можете просто открыть эти файлы в своем веб-браузере, когда они находятся в папке — вам нужно перейти к ним через ваш локально размещенный веб-сайт.

Перейти к URL 127.0.0.1 или же локальный посетить ваш локальный веб-сайт. Это доступно только вам, на вашем компьютере, когда работает XAMPP, и отображает документы в htdocs папка. Вы можете выбрать файл в этом списке, чтобы посетить его, и теперь он должен запускаться на вашем веб-сервере.

Резюме

Отныне вам будет довольно легко работать с файлами на локальном веб-сервере. Конечно, в вашем коде все еще может быть ошибка PHP (я быстро проверил ее — все выглядит нормально, но я мог что-то упустить) — если это так, и вы застряли с отладкой, вы всегда можете спросить Еще один вопрос здесь, на StackOverflow!

В качестве бонуса, вы должны иметь возможность посетить 127.0.0.1/phpmyadmin/ с запущенным XAMPP для управления таблицами и базами данных MySQL через веб-интерфейс.

1

Другие решения

обратите внимание, что в этом случае вы не можете использовать встроенный сервер 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");
0

Попробуйте построить ваше соединение так:

Mysqli_connect ($ mysql_hostname, $ mysql_user, $ mysql_password, $ mysql_database) или умри (mysqli_error)

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector