Я пытался заставить мой код преобразовать его в PHP, а также запустить PHP, а также пытался выяснить, как настроить mysqli для моей формы. Это первая форма, которую я сделал, может ли кто-нибудь помочь разобраться с mysqli и проблемы с php Когда я пробую PHP в Dreamweaver, затем загружаю страницу в chrome, она дает пустой код, а не сайт, пожалуйста, помогите, и моя кнопка регистрации не работает, что бы я ни делал.
<?php
$host_name = "localhost";
$u_name = "root";
$u_pass = "";
try {
$dbh = new PDO("mysql:host=$host_name;dbname=members", $u_name, $u_pass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $ex) {
echo "Connection failed: " . $ex->getMessage();
}$errors="";if(isset($_POST['reg'])){// check if fields are not empty
if(empty($_POST['email'])){
die("Enter email");
$errors++;
}else{
$email = $_POST['email'];//verify email here}
if(empty($_POST['password'])){
die("Enter password");
$errors++;
}else{
$password = $_POST['password'];
$hash = password_hash($password,PASSWORD_DEFAULT);// hashing password
}
if($errors<=0){
// No errors insert to the db
$stmt = $dbh->prepare("INSERT into users (userID,fname,lname,em,pswd,dob,sex) VALUES('userID','fname','lname','em','pswd','dob','sex')");
$stmt->execute(array($userid,$fname,lname,$em,$pswd,$dob,$sex));
echo "success";
}}?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Trenndle</title>
<link type="text/css" rel="stylesheet" href="css/login.css" />
</head>
<body>
<div class="header">
<h1>Trenndle</h1>
</div>
<div>
<iframe width="50%" height="450" frameborder="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/playlists/215699122& auto_play=true;"></iframe>
</div>
<div id="form">
<form action="#" method="post">
<table>
<td>
<tr>
<td><input name="fname" type="text" style="width:135px;" placeholder="First Name" /><input name="lname" type="text" style="width:135px;" placeholder="Last Name" /></td>
</tr>
<tr>
<td><input name="userID" type="text" style="width:278px;" placeholder="Username" /></td>
</tr>
<tr>
<td><input name="em" type="text" style="width:278px;" placeholder="Email" /></td>
</tr>
<tr>
<td><input name="em2" type="text" style="width:278px;" placeholder="Re-Type Email" /></td>
</tr>
<tr>
<td><input name="pswd" type="password" style="width:278px;" placeholder="Password" /><<br /></td>
</tr>
<tr>
<td><input name="pswd2" type="password" style="width:278px;" placeholder="Re-Type Password" /></td>
</tr>
<tr>
<td name="dob"><br />
<?php
// ======================Months drop Down=============
$month_array = array(
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December");
echo '<select name="birthmonth">';foreach ($month_array as $months) {echo '<option value="' . $months . '">' . $months . '</option>';
}
echo '</select>';
//End Months dropdown
//===============Days Dropdown=================
$dates = range(1, 31);
echo '<select name="day">';
foreach ($dates as $birthday) {
echo '<option value="' . $birthday . '">' . $birthday . '</option>';
}
echo '</select>';//Start years Dropdown
$yearArray = array_combine(range(date("Y"), 1960), range(date("Y"), 1960));
echo "<select>";
foreach ($yearArray as $bithyears) {
echo "<option value=\"" . $bithyears . "\">" . $bithyears . "</option>";
}
?>
</td>
</tr>
<tr>
<td>
<input type="radio" name="sex" value="1" />
<label style="color: white;">Female</label>
<input type="radio" name="sex" value="2" />
<label style="color: white;">Male</label>
</td>
</tr>
<td>
<p style="color: whitesmoke;">By clicking Sign Up, you agree to our Terms <br/> and that you have read our Data Policy, including our Cookie Use.</p>
<hr><br/>
<button name="reg" type="submit" style="width:200px; height:40px; font-weight:bold; background:rgba(0, 191, 255, 0.3); border-radius:10px; border:1px solid black; color:white; font-size:20px;">Register Now</button>
</td>
</td>
</table>
</form>
</div>
</body>
</html>
Похоже, у вас нет php-окружения на вашем компьютере.
Чтобы запустить php с mysql, вам сначала нужно скачать сервер для локального использования на вашем компьютере, это может быть xampp / wampp / easyPhpDevserver, любой из тех и других, которые я не упомянул ни одного, который вы предпочитаете.
В этом ответе я буду использовать Xampp, Вы можете скачать Xampp здесь Этот xampp поставляется с apache, mysql и php в одной установке.
NB: я использую среду Windows
Шаг 1: Загрузите Xampp по вышеуказанной ссылке.
Шаг 2: Запустите файл .exe и установите xampp.
Шаг 3: Вам будет предложено выбрать компоненты, которые вы хотите установить, (в этом случае нам нужны php и mysql). Пожалуйста, выберите их. Затем нажмите «Далее».
Шаг 4. Выберите папку, в которую вы хотите установить XAMPP. В этой папке будут храниться все файлы вашего веб-приложения, поэтому обязательно выберите диск, на котором достаточно места. обычно диск С.
Теперь процесс установки будет завершен. Вы получите несколько раздражающих промо для BitNami, магазина приложений для серверного программного обеспечения. Снимите флажок «Узнать больше о BitNami for XAMPP», если вы на самом деле не любите получать промо-письма.
Шаг 5: Установка завершена! Установите флажок «Хотите запустить панель управления сейчас?», Чтобы открыть панель управления XAMPP.
Шаг 6: На панели управления Xampp нажмите start на apache, а также на mysql (мы будем использовать это позже, когда ответим на ваш вопрос выше)
Шаг 7: Давайте проверим, читается ли наш сервер, перейдите в C: \ xampp / htdocs
Вставьте htdocs создайте каталог, назовите его как хотите, я назову мой тест.
Теперь наш каталог — C: \ xampp / htdocs / test.
Шаг 8: Вставьте тест, создайте файл с именем index.php
Шаг 9: Откройте файл index.php в вашем текстовом редакторе / IDE, я использую phpstorm, поэтому в вашем случае это dreameaver
Шаг 10: Теперь вставьте тип файла следующим
<?php
echo "My First php example";
?>
Тогда сохраните.
Теперь последний шаг — проверить, работает ли он / работает
Откройте веб-браузер и введите: localhost / test / или 127.0.0.1/test/
Вы должны увидеть следующий экран
если вы видели этот текст в вашем браузере: мой первый пример PHP
Поздравляем! Вы успешно установили xampp с php и создали свою первую базовую программу php.
Теперь mysql
На Шаге 6 Вы запускаете службы MySQL, теперь давайте создадим нашу первую базу данных, мы будем использовать PDO в этом примере.
Теперь откройте новую вкладку и наберите localhost / phpmyadmin, здесь мы собираемся создать нашу базу данных. Вы должны увидеть следующий экран
У вас не будет так много баз данных, мы будем использовать корневой каталог данных пользователя по умолчанию.
Теперь нажмите на вкладку SQL
В появившемся блоке введите следующий sql
create database firstdb;
Затем нажмите идти в правом нижнем углу, то ваша база данных должна быть создана, когда вы обновите страницу, вы увидите базу данных слева.
Теперь у нас есть база данных, нам нужна таблица для сохранения ваших пользовательских данных.
Теперь снова нажмите на вкладку SQL и введите следующее:
use firstdb;
create table users(
userID int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT,
firstname varchar(255) NOT NULL,
lastname varchar(255) NOT NULL,
DOB date not null,
gender enum('M','F') NOT NULL,
email varchar(255) NOT NULL,
password varchar(255) NOT NULL
)engine=innodb;
Затем введите go, Поздравляем, вы успешно создали свою первую таблицу.
Теперь давайте используем php для подключения к базе данных и ответим на ваш вопрос выше.
Чтобы подключиться к нашей базе данных: вернитесь к нашему файлу index.php и удалите то, что мы написали на шаге 9/10.
Затем напишите этот код
<?php
$host_name = "localhost";
$u_name = "root";
$u_pass = "";
try {
$dbh = new PDO("mysql:host=$host_name;dbname=firstdb", $u_name, $u_pass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "connected :)";
}
catch (PDOException $ex) {
echo "Connection failed: " . $ex->getMessage();
}?>
Это код для подключения к базе данных с помощью PDO. Теперь мы успешно подключились к базе данных. Теперь давайте поработаем с вашей формой, слишком долго, я сделаю ее короткой. Я покажу вам только простой и быстрый способ сделать выпадающее меню даты рождения с помощью php и html.
<?php
// ======================Months drop Down=============
$month_array = array(
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December");
echo '<select name="birthmonth">';foreach ($month_array as $months) {echo '<option value="' . $months . '">' . $months . '</option>';
}
echo '</select>';
//End Months dropdown
//===============Days Dropdown=================
$dates = range(1, 31);
echo '<select name="day">';
foreach ($dates as $birthday) {
echo '<option value="' . $birthday . '">' . $birthday . '</option>';
}
echo '</select>';//Start years Dropdown
$yearArray = array_combine(range(date("Y"), 1960), range(date("Y"), 1960));
echo "<select>";
foreach ($yearArray as $bithyears) {
echo "<option value=\"" . $bithyears . "\">" . $bithyears . "</option>";
}
?>
Выведите выпадающий список select, очень легкий и простой, вместо того длинного HTML-кода, который у вас есть.
Как я уже говорил выше, я не собираюсь делать вам полную форму, так как это долго, и у меня есть другая работа,
Теперь давайте сохраним данные из вашей формы в нашей таблице пользователей в нашей базе данных.
Я просто вставлю адрес электронной почты и пароль в базу данных, чтобы сэкономить время,
Наш код теперь выглядит так:
<?php
$host_name = "localhost";
$u_name = "root";
$u_pass = "";
try {
$dbh = new PDO("mysql:host=$host_name;dbname=firstdb", $u_name, $u_pass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $ex) {
echo "Connection failed: " . $ex->getMessage();
}$errors="";if(isset($_POST['register'])){// check if fields are not empty
if(empty($_POST['email'])){
die("Eter email");
$errors++;
}else{
$email = $_POST['email'];//verify email here}
if(empty($_POST['password'])){
die("Enter password");
$errors++;
}else{
$password = $_POST['password'];
$hash = password_hash($password,PASSWORD_DEFAULT);// hashing password
}
if($errors<=0){
// No errors insert to the db
$stmt = $dbh->prepare("INSERT into users (email,password) VALUES(?,?)");
$stmt->execute(array($email,$password));
echo "success";
}}?>
Теперь мы успешно вставили нашу первую информацию в базу данных, пользователь зарегистрирован, нам нужно войти в систему сейчас
Наш простой скрипт входа в систему:
<?php
ob_start();
session_start();
$host_name = "localhost";
$u_name = "root";
$u_pass = "";
try {
$dbh = new PDO("mysql:host=$host_name;dbname=firstdb", $u_name, $u_pass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $ex) {
echo "Connection failed: " . $ex->getMessage();
}
if (isset($_SESSION['user'])):
header("Location:dashboard");
endif;if (isset($_POST['login'])) {
if (empty($_POST['uname']) || empty($_POST['pass'])) {
$loginError = "Enter username and Password";
} else {
$username = userInput($_POST['uname']);
$password = userInput($_POST['pass']);
try {
$stmt = $dbh->prepare("SELECT
userID,
email,
password
FROM
users
Where
email=?
");
$stmt->bindValue(1, $username);
$stmt->execute();
$results = $stmt->fetchall(PDO::FETCH_ASSOC);
if (count($results > 1)) {
foreach ($results as $row) {
if (password_verify($password, $row['admin_password'])) {
echo "Login Succcess!! Redirecting...";
$_SESSION['user'] = $row['userID'];
header("refresh:10; url=dashboard");
} else {
die("username and password does not match");
}
}
}
}
catch (Exception $e) {
error_log($e);
}
}
}
ob_end_clean();
Выше приведен наш скрипт входа в систему. Сначала мы проверяем, не вошли ли пользователи, если они вошли в систему, и возвращаем их обратно на панель инструментов. или покажите страницу входа.
Я надеюсь, что это поможет вам получить одну или две вещи, на которые я предлагаю вам взглянуть:
Введение в php — >>> кликните сюда
Обработка формы Php — >>> Вот
Спасибо, не стесняйтесь купить мне пиво.
Других решений пока нет …