Autor | Zpráva | ||
---|---|---|---|
Brutuska Profil |
Zdravím,
V php jsem trochu lepší začátečník a potřeboval bych pomoci s následujícím kódem. Kód jsem stáhnul a učím se na něm. Už se nějakou dobu mučím s kompletním výpisem objednávek dle uživatele. Bez problémů jsem udělal výpis jednoho řádku, ale s výpisem všech položek mám problém. <?php //Start session session_start(); //Include database connection details require_once('config.php'); //Array to store validation errors $errmsg_arr = array(); //Validation error flag $errflag = false; //Connect to mysql server $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); if(!$link) { die('Nepodařilose připojit k databázi ' . mysql_error()); } //Select database $db = mysql_select_db(DB_DATABASE); if(!$db) { die("Unable to select database"); } //Function to sanitize values received from the form. Prevents SQL injection function clean($str) { $str = @trim($str); if(get_magic_quotes_gpc()) { $str = stripslashes($str); } return mysql_real_escape_string($str); } //Sanitize the POST values $login = clean($_POST['login']); $password = clean($_POST['password']); //Input Validations if($login == '') { $errmsg_arr[] = 'Login ID missing'; $errflag = true; } if($password == '') { $errmsg_arr[] = 'Password missing'; $errflag = true; } //If there are input validations, redirect back to the login form if($errflag) { $_SESSION['ERRMSG_ARR'] = $errmsg_arr; session_write_close(); header("location: login-form.php"); exit(); } //Create query $qry="SELECT * FROM members WHERE login='$login' AND passwd='".md5($_POST['password'])."'"; $qry_vypis = "SELECT * FROM orders WHERE login='$login'"; $result=mysql_query($qry); $vypis=mysql_query($qry_vypis); //Check whether the query was successful or not if($result) { if(mysql_num_rows($result) == 1) { //Login Successful session_regenerate_id(); $orders = mysql_fetch_assoc($vypis); $member = mysql_fetch_assoc($result); $_SESSION['SESS_MEMBER_ID'] = $member['member_id']; $_SESSION['SESS_FIRST_NAME'] = $member['firstname']; $_SESSION['SESS_LAST_NAME'] = $member['lastname']; $_SESSION['SESS_TELEPHONE'] = $member['telephone']; $_SESSION['SESS_E-MAIL'] = $member['e-mail']; $_SESSION['SESS_WWW'] = $member['www']; $_SESSION['SESS_MEMBER_PRICE'] = $member['member_price']; $_SESSION['SESS_MEMBER_PROSPECTS'] = $member['member_prospects']; $_SESSION['SESS_ORDER_DATUM_PRIJETI'] = $orders['datum_prijeti']; $_SESSION['SESS_ORDER_DATUM_ODESLANI'] = $orders['datum_odeslani']; $_SESSION['SESS_ORDER_STAV'] = $orders['stav']; $_SESSION['SESS_ORDER_SPEDICE'] = $orders['spedice']; $_SESSION['SESS_ORDER_CISLO_ZASILKY'] = $orders['cislo_zasilky']; $_SESSION['SESS_ORDER_OBJEDNAVKA_CISLO'] = $orders['objednavka_cislo']; $_SESSION['SESS_ORDER_CELKOVA_CASTKA'] = $orders['celkova_castka']; session_write_close(); header("location: member-index.php"); exit(); }else { //Login failed header("location: login-failed.php"); exit(); } }else { die("Query failed"); } ?> skákal bych dva metry vysoko, kdyby se našel někdo, kdo by mi poradil. Dík Moderátor Alphard: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Tori Profil |
#2 · Zasláno: 17. 1. 2011, 20:01:31 · Upravil/a: Tori
Třeba takhle:
$qry_vypis = "SELECT * FROM orders WHERE login='$login'"; $vypis=mysql_query($qry_vypis); // projdi všechny objednávky a vypiš je jednu za druhou. while ($orders = mysql_fetch_assoc($vypis)) { echo '<h4>objednávka č.'.$orders['objednavka_cislo'].'</h4>'; echo 'datum přijetí: '.$orders['datum_prijeti']; echo 'datum odeslání: '.$orders['datum_odeslani']; // ... atd. } Jen nerozumím tomu, proč by se měl výpis objednávek ukládat do session. Taky přihlašování / ověření uživatele bych nechala samotné v tomto skriptu, a výpis objednávek dala do jiného - takhle je to už dost nepřehledné. |
||
Lamicz Profil |
#3 · Zasláno: 19. 1. 2011, 21:24:45
Brutuska:
Z tohoto kódu bych se opravdu neučil ;) |
||
Časová prodleva: 1 měsíc
|
|||
Brutuska Profil |
#4 · Zasláno: 20. 2. 2011, 22:39:55
Děkuji za pomoc. Vyřešeno a upraveno podle rad.
|
||
pcmanik Profil |
#5 · Zasláno: 21. 2. 2011, 07:21:54 · Upravil/a: pcmanik
Brutuska:
Urcite nieje dobre vyuzivat tolko session, a ked uz musi byt tak radsej menej ale ako pole |
||
Časová prodleva: 13 let
|
0