divinity02 Ответов: 2

Как избавиться от уведомления: неопределенный индекс: login_user в C:


мой логин не работает, и я получаю эту ошибку. cyah кажется избавился от него вот что я попробовал как php так и html

Что я уже пробовал:

<pre><?php
	include'db_server.php';
	
	
	
		
		$login=$_POST['login_user'];
	if(isset($login))
	{
			// capture the values from the form and store in php variable
		$screenname=$_POST['screenname'];
		$mypwd=$_POST['mypwd'];
		
	
		include'db_server.php';
		
		mysqli_select_db($conn, 'national_wonders');
		
		$sql= "SELECT * FROM login WHERE $screenname='$screenname' AND mypwd = MD5('$mypwd')";
		
		$result = mysql_query($conn, $sql) or die("ERROR:" .mysql_error($conn));
		
		$rowcount=mysql_num_rows($result);
		
		if($rowcount ==1)
		{
			
			echo"<script type=\"text/javascript\">
			alert('Screenname and password does not exist!');
			window.location=\"../xhtml/login.html\";
			</script>";
			
		}
		else
		{
			echo"<script type=\"text/javascript\">
			alert('Screenname and password does not exist!');
			window.location=\"../xhtml/login.html\";
			</script>";
		}
		mysqli_close($conn);
		
	
	}
?>	


вот код htmml
<pre><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<title> Login </title>
		<link rel="stylesheet" type="text/css" href="../css/stylesheet.css" />
	</head>
	<body>
		<div id="container" >
			<div id="header">
				<img src="../images/header.jpg" alt="header" />
			</div>
			<div id="navbar">
				<ul>
					<li><a href="../index.html"  id="tlinks" class="toplinks" >Homepage</a></li>
					<li><a href="featureNationalWonders.html" id="thold" class="toplinks"> Feature National Wonders</a></li>
					<li><a href="contact.html" id="linkhold" class="toplinks">Contact Us</a></li>
					<li><a href="register_user.html" id="phold" class="toplinks"> Sign Up</a></li>	
					<li><a href="login.html" id="loglinks" class="toplinks"> Login</a></li>
					<li><a href="aboutus.html" id="panlinks" class="toplinks"> About Us</a></li>
					
						
				</ul>	
					<form method="post" id="search"   action="..php/login.php" >
						<div>
							<input type="text" name="search" value=""/>
							<input type="submit" value="Search"/>
						</div>						
					</form>	
			</div>
			<br/><br/>
			<div id="contentArea">
				<form method="post" id="login_user" action="../php/login_user.php" accept-charset='UTF-8'>
					<fieldset>
						<legend> Login Details</legend><br/><br/>
							<label> Screen Name:</label>
							<input type="text" size="40" id="screenname"  name="screenname" /><br/><br/>
							<label> Password:</label>
							<input type="password" size="40" id="mypwd"   name="mypwd" /><br/><br/>
							
							<input type="button" name="login_user" value="Login" />   <input type="button" value="RESET" />
					
				
						 <p>
							<a href="http://validator.w3.org/check?uri=referer"><img

							  src="http://www.w3.org/Icons/valid-xhtml11" alt="Valid XHTML 1.1" height="31" width="88" /></a>
						</p>
						<p>
							<a href="http://jigsaw.w3.org/css-validator/check/referer">
								<img style="border:0;width:88px;height:31px"

								src="http://jigsaw.w3.org/css-validator/images/vcss-blue"

								alt="Valid CSS!" />
							</a>
						</p>
					</fieldset>
				</form>
			</div>
			<div id="footerFix"></div>
				<div id="footerbox">
						<div id="footer" >
							<div id="footerholder" >
								<ul>
									<li><a href="../index.html" class="toplinks" >Homepage</a></li>
									<li><a href="featureNationalWonders.html" class="toplinks"> Feature National Wonders</a></li>
									<li><a href="contact.html" class="toplinks">Contact Us</a></li>
									<li><a href="register.html" class="toplinks"> Sign Up</a></li>	
									<li><a href="login.html" class="toplinks"> Login</a></li>
									<li><a href="aboutus.html" class="toplinks"> About Us</a></li>
								</ul>
							</div>
						</div>	  
				</div>
		</div>
	</body>
</html>

Richard Deeming

MD5 - безопасность[^]:
Безопасность хэш-функции MD5 серьезно нарушена. Существует атака столкновения, которая может найти столкновения в течение нескольких секунд ...

2 Ответов

Рейтинг:
2

Patrice T

$sql= "SELECT * FROM login WHERE $screenname='$screenname' AND mypwd = MD5('$mypwd')";
                                 ^^^^^^^^^^^ this is not one of the database field

Не обязательно решение вашего вопроса, но у вас есть еще одна проблема.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]


k5054

Юмор: [xkcd: подвиги мамы](https://xkcd.com/327/)

Рейтинг:
2

divinity02

всем привет

спасибо за всю помощь, я понял проблему, это была ошибка в html-коде