download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Помощ за една задачка по php

Автор
Съобщение
anonymous
Чет, 28.04.11, 15:38
Имам задача за оформяне на годишна оценка, но не мога да се справя изцяло с нея. За сега съм написал само половината от нея - частта със страната на клиента. Ще съм благодарен, ако някой ми помогне. Ето и условието на задачата:
При забравено име или парола се извежда подсещащо съобщение, при следните условия:
1) ime и pass се подават от регистрационна форма
2) на страната на клиента полетата се проверяват за наличие на данни
3) валидните имена и пароли се съдържат в таблица valid
4) при откриване на ime се извежда съответното pass

Ето и до къде успях да я напиша:
1. Страна на клиента (име на файл - 6reg.html)
<html>
<body BgColor=green>
<table Border=2 width=100% Height=100%>
<tr>
<td colspan=2>Регистрация</td>
<Form method=post Action=6reg.php>
<td> <input type=text Name=ime></td>
<tr>
<td>pass</td>
<td><input type=text name=pass></td>
<tr>
<td colspan=2><input type=button>Изпрати</td>
....
имам и javascript функцията за проверка, но да не пиша цялото
Проблемът ми е, че не мога да се справя със страната на сървъра.
Благодаря предварително на отзовалите се

insecteater
Чет, 28.04.11, 16:58
таблица valid ... ? Това означава ли, че е замесена и някаква база данни?
anonymous
Чет, 28.04.11, 17:16

RE: Помощ за една задачка по php

” таблица valid ... ? Това означава ли, че е замесена и някаква база данни? „
Да, на сървъра в училище има готова таблица valid (база данни) и от нея трябва да се извлече информация за име и парола.
anonymous
Чет, 28.04.11, 22:56
sweety7: Здравей,
Я да видим, дали съм разбрал:
Трябва да се въведе име и парола в някаква форма. От страна на клиента(т.е. този дето въвежда) да се се провери дали има въведени данни в полето за име и парола. И ако има да се пратят на сървъра. А, той от своя стана да провери дали ги има в базата с данни (valid), и ако е така да изведе паролата?

Ако е така имам само два (айде три) въпроса:
1. Базата на MySQL ли е или друга?
2. Знаеш ли как се прави връзка към база данни и съответно към таблицата в нея(тази в която са записани имената и паролите)? Както и това valid е име на базата и таблицата в нея или? И полетата в таблицата за име и парола са съответно name и pass или са други? За Име и парола към базата да данни няма да питам, че да не ме бият в даскалото ти :)
3. Щом ще се извежда само паролата предполагам, че не е криптирана(Не че, ако е, не може да покажем какво е въвел потребителя). Но във формата си за искане на име и парола си писал 'регистрация'. Та ще се прави проста регистрация или просто ще проверяваме, дали потребителя име вече такава?

Те май станаха повече от три въпроса, но пък отговора на тях ти гарантира моментално написване на задачата. Ще съм буден поне още два часа :)

П.С.: В тоя код, който си дал имаш много грешки между другото. Не затваряш тагове, ползваш малки и големи букви в служебните думи(примерно: post и action) и т.н.
Сега ще трябва да си заместиш Решение от sweety7 с твое заглавие. Както и ime_za_bd и pass_za_bd с името и паролата за MySQL сървъра. Също и bazata с името на базата данни, в която е таблицата от която ще се вземат името и паролата. Разбира се, и ако в нея полетата за име и парола са различни от name и pass ще трябва да промениш и тях в атрибута name на тага input. Както и в заявката към базата данни :)
Ако не се съобразиш с това следния код най- вероятно ще ти "гърми" с грешки:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Решение от sweety7</title>
 
<script language="javascript" type="text/javascript">
function validateForm() {
	var x=document.forms["myForm"]["name"].value;
	var y=document.forms["myForm"]["pass"].value;
	
	if (x==null || x=="" || y==null || y=="") {
		alert("Името и паролата трябва да са попълнени!");
		return false;
	} else
		return true;
}
</script>
</head>
 
<?php
$conn = mysql_connect('localhost', 'ime_za_bd', 'pass_za_bd') or die ("Не мога да осъществя връзка с базата данни<br />" . mysql_error());
mysql_query('set names utf8', $conn);
mysql_select_db('bazata', $conn) or die ("Не мога да избера базата с данни<br />" . mysql_error());
 
$name = htmlspecialchars($_POST[name]);
$pass = htmlspecialchars($_POST[pass]);
 
if ($name && $pass) {
	$query = mysql_query("SELECT * FROM valid WHERE name='$name' AND pass='$pass' LIMIT 1");
	
	if (mysql_affected_rows() > 0) {
		$row = mysql_fetch_array($query);
		echo "<center>Вие сте: $row[name] <br />Вашара парола е: $row[pass] </center>";
		die("");
	} else
		echo "<center>Съжаляваме! Но Ви няма в базата с данни!<br />Опитайте отново.<br /><br /><br /></center>";
} else
	echo "<center>Добът опит!<br />Но името и паролата трябва да се попълнят.<br /><br /><br /></center>";
 
mysql_close($conn);
?>
 
<body BgColor="green">
<FORM method="post" action="6reg.php" name="myForm" onsubmit="return validateForm()">
<table border="2" width="100%" height="100%">
	<tr>
		<td>Име:</td>
		<td> <input type="text" name="name" /></td>
	</tr>
    <tr>
		<td>Парола:</td>
		<td><input type="password" name="pass" /></td>
    </tr>
	<tr>
		<td colspan="2"><input type="submit" value="Изпрати" /></td>
    </tr>
</table>
</FORM>
</body>
</html>

редактиран от anonymous на 28.04.11 23:44

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.