Народ помогите пожалуйста! Есть БД- в ней 5 таблиц: klass ocenka predmet teacher users В users поля -там ID, имя, фамилия ...... ,класс,пароль! В teacher- tID, имя, фам ............предмет1......пркдмет2, пароль В predmet -pID,название, tID В ocenka- дата, оценка, pID, ID-ученика(из users) В klass- kID, предмет1............предмет13! Нужно как то связать все эти таблицы примерно так- вводишь ИД юзера и его пароль и тебе выдается таблица со всеми всеми прдметами для данного класса, и оценками! Вот только все это связать у мя никак не получается!!!Помогите ПЛИЗЗ!!!!!!!
Ну впринципе да! Первая страничка просто два поля для ввода(ид и пас) и кнопка запроса, а потом как то нужно чтобы по всем таблицам прошлась и именно для введенного ид ученика, собрала инфу и вывела в табл примерно так: Предмет | Дата| 05|06|07|08|09 ___________________________________ Алгебра | 4 | н | Русский | 3 | 4 | Геом | 1 | 5 | _____________| Ну или может подскажите как получше сделать!!!
Не обязательно чтоб именно так выводилось, эт я так думаю, но может так вообще и нельзя вывести! Подскажите!!!!
Я так понимаю разные классы изучают разный набор предметов да? В атком случае когда ученик логинится проверяеш его класс, а даллее из спец таблицы джойномвыбираеш нужные предметы, подробнее о джойнах почитай тут http://www.knizheknet.msk.ru/www.knizhek.net_406.rar (Сама книга на другую тему, но твой вопрос достаточно понятно освящен на странице 126 "раздел 3.4.2 Реструктуризация модели")
Ссылка на книжку битая РАзные классы не изучают разные предметы, просто у каждого класса их разное количество и кое гдн разные название!
Скажите хотя бы код странички: Вводишь ИД и пас, она соединяется с таблицой users и при прохождении проверки просто тупо выдае на белом листе остальные данные из таблицы, тобишь имя, фамилию, отчество и класс! Подскажите пожалуйтса как это реализовать, а там мож я сам от этого смогу плясать
select name, last_name,класс from users where name=".SESSION['name']; Если авторизация была по сессиям... =\
Не запрос то я знаю, я имел ввиду код самой авторизации! Ну там поля ввода к ним чет привязаь надо(плохо в кодинге, сам не знаю)кнопочка ок связанная наверно тоже с базой.
Вот есть страничка login.php <? include_once ("config.php"); ?> <html> <head> <title>Запрос данных ученика</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> <p><font face="Arial, Helvetica, sans-serif" size="5"><b>Запрос данных ученика</b></font></p> <form name="Sample" method="post" action="<? print $resultpage ?>"> <table width="40%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000"> <tr> <td colspan="2" bgcolor="#FFFFCC" valign="middle"> <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Запрос</b></font></div> </td> </tr> <tr> <td width="32%" bgcolor="#CCCCCC" valign="middle"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> ID</font></b></td> <td width="68%" valign="middle"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="text" name="ID" size="15" maxlength="15"> </font></b></td> </tr> <tr> <td width="32%" bgcolor="#CCCCCC" valign="middle"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> Пароль</font></b></td> <td width="68%" valign="middle"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="password" name="password" size="15" maxlength="15"> </font></b></td> </tr> <tr valign="middle" bgcolor="#CCCCCC"> <td colspan="2"> <div align="center"> <input type="submit" name="Login" value="OK"> <input type="reset" name="Clear" value="Очистить"> </div> </td> </tr> </table> </form> <p> </p> </body> </html> После ввода ИД и пасса должно перенаправлятся на страничку проверки этих данных и если данные верни выдавать остальные данные из таблицы, а если не верны перводить на какуенибудь страничку! Подскажите код этой странички проверки плиз!
PHP: <?php include ("header.php"); echo "<form action='auth.php' method='post'> <span style='margin-left:90px;'>Login :</span> <br /><span style='margin-left:90px;'><input type='text' name='name' value='".$_SESSION['name']."' /></span><br /><br /> <span style='margin-left:90px;'>Pass :</span> <br /><span style='margin-left:90px;'><input type='password' name='password' value='".$_SESSION['password']."' /></span><br /><br /> <span style='margin-left:90px;'><input type='submit' value='Войти' title='Войти' /></span> </form>"; if($_POST['name'] && $_POST['password']) { if(!get_magic_quotes_gpc()) { $password = $_POST['password']; $name = mysql_escape_string($_POST['name']); } else { $password = stripslashes($_POST['password']); $name = $_POST['name']; } $password = md5($password); $query = "SELECT * FROM `users` WHERE `name` = '".$name."' AND `pass` = '".$password."'"; $result = mysql_query($query); if(!$result) exit("Ошибка"); if(mysql_num_rows($result)) { $_SESSION['fname'] = $name; $_SESSION['password'] = $password; setcookie('name_cook',$_SESSION['fname'],time()+ 86400 * 30 * 12); setcookie('pass_cook',$_SESSION['password'],time()+ 86400 * 30 * 12); echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'></HEAD><body>"; } else { echo("<span style='margin-left:90px;'>Неверный пароль</span>"); echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='1; URL=index.php'></HEAD><body>"; } } if($_GET['do'] == 'logout') { setcookie('name_cook', ""); setcookie('pass_cook', ""); session_destroy(); echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'></HEAD></HTML>"; } include ("footer.php"); ?> PS. CODED by Isis
И насколько я понял это страница не проверки, а именно ввода, а вот перенаправляет она как раз на то что походу мне надо!!!!
Не мне куки не нужны(вроде не нужны). Мне нужны такая фишка: 1стр- подключение к базе данных, два поля ввода и кнопка окей и сброс 2.стр - это страница куда перенаправляет первая после нажатия окей, на этой страници какойто код, который подключается к бд проверяет введенные данные на первой и если они совпадают перенапавляет на 3, а если нет обратно на первую Вот код второй стран мне и нужен
ОООО нашел впринципе подходящий мне скрипт! Но остался вопрос! Вот скрипт: PHP: <?php include("config.php"); $connect = mysql_connect("$dbhost", "$dbusername", "$dbpass"); mysql_select_db("$dbname", $connect); session_start(); if(!isset($ID)) { echo "<form method=\"POST\" action=$PHP_SELF> <center> <table> <tr> <td>Username:</td> <td><input type=\"text\" name=\"ID\" size=\"20\"></td> </tr> <tr> <td>Password:</td> <td><input type=\"password\" name=\"password\" size=\"20\"></td> </tr> <tr> <td colspan=\"2\"> <p align=\"center\"><input type=\"submit\" value=\"Submit\" name=\"submit\"></td> </tr> </table> </center> </form>"; exit; } session_register("ID"); session_register("password"); $sql = "SELECT * FROM users WHERE ID = \"$ID\" AND password = \"$password\""; $result = @mysql_query($sql) or die("No."); if(mysql_num_rows($result) == "0") { session_unregister("ID"); session_unregister("password"); echo "<h2 align=center>Wrong username and password, try again</h2>"; exit; } $ID = mysql_result($result,0,"name"); mysql_close($connect); ?> А вопрос такой: $ID = mysql_result($result,0,"name");- вот эта строка выводит после проверки ид и пасса строку из таблицы-имя, а как зделать чтоб помимо строки имя она выводила и строку фамилия и отчество и класс??? Помогите кто может плиз!!!
Короче вот накатал проверку пароля и вывод данных: Создал БД "db" и таблицу users Внес туда 5 полей... Вот SQL: Отсюда создастая Таблица users: 1 Ivan Ivanov 6b iamhacker Дальше PHP: Файл index.html (Тут форма для отправки данных) HTML: <form action="auth.php" method="POST"> Name: <input type="text" name="name"><br> Password: <input type="password" name="password"> <input type="submit"> </form> Файл auth.php (Тут проверки данных имя и пароля и редирект на вывод данных) PHP: <?php mysql_connect("localhost","",""); mysql_select_db("db"); if(isset($_POST['password'])) { $query = "SELECT * FROM `users` WHERE `name` = '".$_POST['name']."' AND `password` = '".$_POST['password']."'"; $result = mysql_query($query); if(mysql_num_rows($result)) { $_SESSION['name'] = $_POST['name']; $_SESSION['password'] = $_POST['password']; setcookie('name',$_SESSION['name']); setcookie('password',$_SESSION['password']); Header("Location: db.php"); }else { echo "Wrong Password!"; } } ?> Тут я немного поизвращался с COOKIE и SESSION =) Файл db.php (Сюда нас привел редирект из auth.php) PHP: <?php mysql_connect("localhost","",""); mysql_select_db("db"); $result = mysql_query("SELECT * FROM `users` WHERE `name`='".$_COOKIE['name']."'"); mysql_close(); while($data = mysql_fetch_row($result)) { list($id,$name,$last_name,$class,$password)=$data; echo " <table> <tr> <td>ID</td><td>$id</td> </tr> <tr> <td>NAME</td><td>$name</td> </tr> <tr> <td>LAST_NAME</td><td>$last_name</td> </tr> <tr> <td>CLASS</td><td>$class</td> </tr> <tr> <td>PASSWORD</td><td>$password</td> </tr> </table>"; } ?> Результат скрипат при правильном вводе name='Ivan' password='iamhacker': В ФОРМАТЕ HTML: HTML: <table> <tr> <td>ID</td><td>1</td> </tr> <tr> <td>NAME</td><td>Ivan</td> </tr> <tr> <td>LAST_NAME</td><td>Ivonov</td> </tr> <tr> <td>CLASS</td><td>6b</td> </tr> <tr> <td>PASSWORD</td><td>iamhacker</td> </tr> </table>