Intereting Posts
javascript и utf-8 / специальные символы Вычтите одну секунду из заданного времени Цитирование через mysql_fetch_array в PHP Выполнение while / loop для получения 10 случайных результатов Лучший способ подсчитать количество загрузок нескольких файлов на веб-сайте Нарушение ограничения целостности: 1062 Дублирующая запись для сортировки utf8_unicode_ci Извлечение контекста из заданного значения в середине файла HTML Где размещать массивы с постоянной стоимостью, которые будут доступны во много раз? Как получить разрешение на использование unlink ()? CakePHP ACL генерирует разные ссылки для разных групп PrestaShop – вставить сценарий продуктов Laravel Eloquent: Как я могу определить эти отношения? Как получить файл PHP для работы с расширением «.html»? Пространство имен PHP с SimpleXML Как загрузить pdf-файл, сохраненный в базе данных mysql, как данные MEDIUMBLOB с использованием php?

что это уведомление, относящееся к

Примечание. Неопределенный индекс: имя в C: \ wamp \ www \ espn.com \ registration.php в строке 12

Примечание. Неопределенный индекс: имя пользователя в C: \ wamp \ www \ espn.com \ registration.php в строке 13

Примечание. Неопределенный индекс: пароль в C: \ wamp \ www \ espn.com \ registration.php в строке 14 Извините, но указанное вами имя пользователя уже выполнено. Выберите другой.

кодирование

<html> <body> <?php $dbhost = "localhost"; $dbname = "users"; $dbuser = "root"; $dbpass = "*******"; mysql_connect ($dbhost,$dbuser,$dbpass)or die("Could not connect: ".mysql_error()); mysql_select_db($dbname) or die(mysql_error()); $name = $_POST['name']; $username = $_POST['username']; $password = md5($_POST['password']); $checkuser = mysql_query("SELECT username FROM users WHERE username='$username'"); $username_exist = mysql_num_rows($checkuser); if($username_exist > 1){ echo "I'm sorry but the username you specified has already been taken. Please pick another one."; unset($username); include 'registration.html'; exit(); } $query = "INSERT INTO users (name,username, password) VALUES('$name','$username', '$password')"; mysql_query($query) or die(mysql_error()); mysql_close(); echo "You have successfully registered"; ?> </body> </html> 

Это означает $ _POST ['name'], $ _POST ['username'] и $ _POST ['password'] не существует. Ваша форма, скорее всего, не была отправлена ​​при доступе к registration.php (или имена полей неверны).

В PHP вы должны убедиться, что каждое поле, которое вы будете использовать, будет установлено до его использования. Вы можете использовать! Empty или isset.

Кроме того, ваш скрипт уязвим для SQL-инъекций, взгляните на функцию mysql_real_escape_string. И ваше условие неверно: если вы хотите узнать, существует ли имя пользователя, вы должны проверить, больше ли оно, а не 1. Вы также можете использовать запрос COUNT (*) вместо выбора строки.

В основном глобальные переменные $ _POST ['name'], $ _POST ['username'] и $ _POST ['password'] не существуют. Я предлагаю вам проверить, что каждый ввод формы представлен как имя, которое может быть объявлено следующим образом:

 <input name="username"/> 

Чтобы вы могли получить доступ к значению этого ввода с помощью $ _POST ['username']. После этого строка, которую выводит скрипт (извините, но имя пользователя, которое вы указали, уже было выполнено. Выберите другой). Эхо эхо, потому что ваш запрос sql выглядит так:

 SELECT username FROM users WHERE username='' 

который будет возвращать каждому пользователю пустые ('') имя пользователя. Также, как уже было сказано, исправьте скрипт как можно скорее.