Я бы хотел, чтобы пользователь заполнил форму и эта информация была отправлена в базу данных. Я использую html и php в Dreamweaver и WAM с phpMyAdmin.
Я пробовал все, и я не могу заставить мой файл .php работать с моим тестовым сервером localhost (или любым сервером, если на то пошло). Это регистрационная форма регистрации, и есть html-документ и php-документ, я буду включать оба:
Форма HTML:
<table width="15px" border="0"> <form form action="localhost.php" method="POST"> <tr> <td>Username</td> <td><input type="text" name="username" /></td> </tr> <tr> <td>Skype Name</td> <td><input type="text" name="skype" /></td> </tr> <tr> <td>Email</td> <td><input type="text" name="email" /></td> </tr> <tr> <td>Password</td> <td><input type="password" name="pass" /></td> </tr> <tr> <td>Retype Password</td> <td><input type="password" name="repass" /></td> </tr> <tr> <td><input type="submit" name="submit" value="Submit"/></td> </tr> </form>
PHP-файл:
<?php $hostname= "localhost"; $database = "boost"; $username = "root"; $password = ""; $localhost = mysqli_connect($hostname, $username, $password, $database); if(mysqli_connect_errno()) { die('Connection Failed'.mysqli_error()); } ?> <html> <head> <title>Sign Up</title> </head> <body> <?php if(isset($_POST['Submit'])) { $username=$_Post['username']; $skype=$_Post['skype']; $email=$_Post['email']; $pass=$_Post['pass']; $repass=$_Post['repass']; if(empty($username) || empty($skype) || empty($email) || empty($pass) || empty($repass)) { echo "Cannot leave any field blank"; } elseif ($pass!=$repass) { echo "Passwords did not match! Please try again."; } else { $sql="INSERT INTO users(Username,SkypeID,Email,Password) " . "VALUES ('$username','$skype','$email','$pass')"; $res=mysqli_query($localhost,$sql); if(!$res) { die("Query Failed" .mysqli_error($localhost)); } else { echo "Welcome"; } } }
Когда я ввожу данные в поля для его проверки, данные не отправляются на сервер localhost (или тот, который подключен к WAM). Я не знаю, что я делаю неправильно здесь. Являются ли мои документы HTML и PHP не взаимосвязанными для обмена значениями? Что-то не так с кодом? Я не правильно определяю свою базу данных?
РЕШЕНИЕ: Мои «POST» и «submit», где не рассматриваются как чувствительные к регистру. Спасибо за помощь.
Вы пытаетесь отредактировать свой php:
isset($_POST['Submit']
и измените его на:
isset($_POST['submit']
переменная $ _POST чувствительна к регистру, поэтому вы должны использовать то же имя, которое вы назначаете в своем html-коде.
CMIIW