Προβλημα με login script

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
dourvas
Δημοσιεύσεις: 26
Εγγραφή: 05 Δεκ 2008 15:33

Προβλημα με login script

Δημοσίευση από dourvas » 12 Δεκ 2008 12:47

ΚΟΝΤΕΥΩ ΝΑ ΤΡΕΛΑΘΩ! ΜΟΥ ΕΧΟΥΝ ΒΓΕΙ ΤΑ ΜΑΤΙΑ ΕΞΩ ΝΑ ΒΡΩ ΤΟ ΠΡΟΒΛΗΜΑ ΑΛΛΑ ΤΙΠΟΤΑ. ΛΟΙΠΟΝ

ΣΤΟ ΣΙΤΕ ΜΟΥ ΣΤΟ INDEX.PHP. ΕΧΩ ΜΙΑ LOGIN FORMA:

Κώδικας: Επιλογή όλων

<form method="POST" action="login-exec.php" class="login">
<fieldset>
   <legend>&#197;&#233;&#243;&#225;&#227;&#249;&#227;&#222; &#211;&#244;&#239; &#211;&#253;&#243;&#244;&#231;&#236;&#225;</legend>
   <blockquote align="center">
   &#207;&#237;&#239;&#236;&#225; &#215;&#241;&#222;&#243;&#244;&#231;&#58; <input name="login" type="text"  id="login" size='12' value="" class="small-login"/>
   &#202;&#249;&#228;&#233;&#234;&#252;&#242;&#58;&nbsp;<input name="password" type="password"  id="password" size = '12' value="" class="small-login"/><br>
   <input type="submit"  name="Submit" value="&#207;&#202;" class="small-login">
   </blockquote>
</fieldset>
</form>

<?php
if &#40;isset&#40;$_SESSION&#91;'SESS_LAST_NAME'&#93;&#41;&#41;
&#123;
 echo "&#202;&#225;&#235;&#254;&#242; &#252;&#241;&#233;&#243;&#229;&#242; &#234;.". $_SESSION&#91;'SESS_FIRST_NAME'&#93;;
 echo "<html> <form method='POST' action='logout.php' class='login'>
<input type='submit'  name='Submit' value='&#193;&#208;&#207;&#211;&#213;&#205;&#196;&#197;&#211;&#199;' class='small-login'>
</form> </html> ";
&#125;
?>
ΠΟΥ ΕΜΦΑΝΙΖΕΙ ΧΑΙΡΕΤΙΣΜΟ ΣΤΟΝ ΧΡΗΣΤΗ ΑΝ ΕΧΕΙ ΛΟΓΓΑΡΕΙ. ΣΤΟ POST SCRIPT Η ΣΥΝΔΕΣΗ ΓΙΝΕΤΑΙ ΚΑΝΟΝΙΚΑ ΤΟ QUERY ΕΚΤΕΛΕΙΤAI-ΕΠΙΣΤΡΕΦΕΙ ΑΠΟΤΕΛΕΣΜΑ KAI ΓΕΜΙΖΕΙ ΤΑ SESSION VARIBLES ΜΕ ΤΙΣ ΣΩΣΤΕΣ ΜΕΤΑΒΛΗΤΕΣ ΑΠΟ ΤΗΝ ΒΑΣΗ. ΜΕΤΑ ΕΠΙΣΤΕΦΕΙ ΣΤΟ ΑΡΧΙΚΟ INDEX KAI EMFANIZEI THN ΙΔΙΑ ΣΕΛΙΔΑ ΑΛΛΑ ΜΕ ΤΟΝ ΧΑΙΡΕΤΙΣΜΟ.

Κώδικας: Επιλογή όλων

if&#40;$result&#41; &#123;
		if&#40;mysql_num_rows&#40;$result&#41; == 1&#41; &#123;
			//Login Successful
			session_regenerate_id&#40;&#41;;
			$member = mysql_fetch_assoc&#40;$result&#41;;
			$_SESSION&#91;'SESS_MEMBER_ID'&#93; = $member&#91;'member_id'&#93;;
			$_SESSION&#91;'SESS_FIRST_NAME'&#93; = $member&#91;'firstname'&#93;;
			$_SESSION&#91;'SESS_LAST_NAME'&#93; = $member&#91;'lastname'&#93;;
			session_write_close&#40;&#41;;
			
			header&#40;"location&#58; index.php"&#41;;
			exit&#40;&#41;;
ΕΜΦΑΝΙΖΕΤΑΙ ΣΩΣΤΑ ΤΟ INDEX ME TON XAIRETISMO. TWRA APO TO INDEX 8ELW NA ANOIKSW MIA ONLY FOR MEMBERS SELIDA. STHN ARXH THS SELIDAS AYTHS (AKRIBWS META TO <head>) EXW KANEI INCLUDE TO PHP FILE ME TON KWDIKA:

Κώδικας: Επιλογή όλων

<?php 
 if&#40;!isset&#40;$_SESSION&#91;'SESS_LAST_NAME'&#93;&#41; || trim&#40;$_SESSION&#91;'SESS_LAST_NAME'&#93;&#41; ==''&#41;&#123;
  echo "
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Access Denied</title>
<link href='loginmodule.css' rel='stylesheet' type='text/css' />
</head>
<body>
<h1>Access Denied </h1>
<p align='center'>&nbsp;</p>
<h4 align='center' class='err'>Access Denied!<br />
  You do not have access to this resource.</h4><br>
 
</body>
</html>";
echo 
//header&#40;"location&#58; access-denied.php"&#41;; 
exit&#40;&#41;;&#125;?>
OTAN ANOIGW THN INDEX SELIDA KAI DN EIMAI LOGGARISMENOS MOY BGAZEI SWSTA TO ACCESS DENIED. META LOGGARW. OPOTE KSEKINAEI TO SESSION KAI GEMIZOYN TA VARIABLES. OTAN PAW NA MPW STHN SELIDA ONLY FOR MEMBERS MOY EMFANIZEI KSANA ACCESS DENIED. KSANAMPAINEI DHLADH STO PIO PANW IF. KONTEYW NA TRELA8W. TI KANW LA8OS?

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Προβλημα με login script

Δημοσίευση από Apostolis_38 » 12 Δεκ 2008 13:22

dourvas έγραψε:ΚΟΝΤΕΥΩ ΝΑ ΤΡΕΛΑΘΩ! ΜΟΥ ΕΧΟΥΝ ΒΓΕΙ ΤΑ ΜΑΤΙΑ ΕΞΩ ΝΑ ΒΡΩ ΤΟ ΠΡΟΒΛΗΜΑ ΑΛΛΑ ΤΙΠΟΤΑ. ΛΟΙΠΟΝ

if(!isset($_SESSION['SESS_LAST_NAME']) || trim($_SESSION['SESS_LAST_NAME']) ==''){
echo "
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Access Denied</title>
<link href='loginmodule.css' rel='stylesheet' type='text/css' />
</head>
<body>
<h1>Access Denied </h1>
<p align='center'>&nbsp;</p>
<h4 align='center' class='err'>Access Denied!<br />
You do not have access to this resource.</h4><br>
Εδώ του λές οτι αν δεν έχει δωθεί το LAST_NAME απο τον χρήστη τότε --> Access Denied.
Αν όμως δωθεί το LAST_NAME, τί γίνεται; Δεν πρέπει να προχωρήσει κάπου η σελίδα;

Στην προηγούμενη φόρμα έχεις βάλει

Κώδικας: Επιλογή όλων

if &#40;isset&#40;$_SESSION&#91;'SESS_LAST_NAME'&#93;&#41;&#41; 
&#123; 
echo "&Ecirc;&aacute;&euml;&thorn;&ograve; &uuml;&ntilde;&eacute;&oacute;&aring;&ograve; &ecirc;.". $_SESSION&#91;'SESS_FIRST_NAME'&#93;;
κ.λπ. κ.λπ. κ.λπ. και τον κατευθύνεις σε νέα σελίδα με χαιρετισμό.

dourvas
Δημοσιεύσεις: 26
Εγγραφή: 05 Δεκ 2008 15:33

Προβλημα με login script

Δημοσίευση από dourvas » 12 Δεκ 2008 15:18

OXI DN KATALABES KALA.

EKTELEITAI TO QUERY KAI PSAXNEI MESA STHN BASH GIA EGGRAFH POY PERIEXEI TO USERNAME KAI TO PASSWORD. OTAN TO BREI PAIRNEI TO LAST NAME (OXI MONO) KAI TO APOUHKEYEI SE ENA SESSION.

Κώδικας: Επιλογή όλων

$qry="SELECT * FROM members WHERE login='$login' AND passwd='$password'";
$result=mysql_query&#40;$qry&#41;;
	//////////////////////'".md5&#40;$_POST&#91;'password'&#93;&#41;."'";
	if&#40;$result&#41; &#123;
		if&#40;mysql_num_rows&#40;$result&#41; == 1&#41; &#123;
			//Login Successful
			session_regenerate_id&#40;&#41;;
$member = mysql_fetch_assoc&#40;$result&#41;;
			$_SESSION&#91;'SESS_MEMBER_ID'&#93; = $member&#91;'member_id'&#93;;
			$_SESSION&#91;'SESS_FIRST_NAME'&#93; = $member&#91;'firstname'&#93;;
			$_SESSION&#91;'SESS_LAST_NAME'&#93; = $member&#91;'lastname'&#93;;
//KAI FORTWNOYME TO INDEX 
header&#40;"location&#58; index.php"&#41;;
MESA STO INDEX TWRA TO $_SESSION['SESS_LAST_NAME'] EXEI TO ONOMA TOY XRHSTH GIA AYTO TOY EMFANIZEI KAI TON XAIRETISMO PARAKATW

Κώδικας: Επιλογή όλων

<?php
if &#40;isset&#40;$_SESSION&#91;'SESS_LAST_NAME'&#93;&#41;&#41;
&#123;
 echo "GEIA SOY ". $_SESSION&#91;'SESS_FIRST_NAME'&#93;;
 echo "<html> <form method='POST' action='logout.php' class='login'>
<input type='submit'  name='Submit' value='&#193;&#208;&#207;&#211;&#213;&#205;&#196;&#197;&#211;&#199;' class='small-login'>
</form> </html> ";
&#125;
?>
OTAN PAW NA MPW SE MEMBER ISTOSELIDA PRWTA KALW ENA SCRIPT POY ELEGXEI AN EINAI LOGGARISMENOS O XRHSTHS:

Κώδικας: Επιλογή όλων

<?php 
session_start&#40;&#41;;
if&#40;!isset&#40;$_SESSION&#91;'SESS_LAST_NAME'&#93;&#41; || trim&#40;$_SESSION&#91;'SESS_LAST_NAME'&#93;&#41; ==''&#41;
  echo "
<html>
<head>
....Access Denied!
</head>
<body>
<h1>Access Denied </h1>
if&#40;!isset&#40;$_SESSION&#91;'SESS....-----> AN DN EXEI SETARISTEI TO SESSION TOTE DN EXEI GINEI LOGIN OPOTE -> Access Denied!
SE DIAFORETIKH PERIPTWSH DN 8A MPEI MESA STO IF OPOTE 8A SYNEXISTEI O KWDIKAS PARAKATW (TO PARAPANW ARXEIO TO XW KANEI INLUDE OPOTE META TO INCLUDE) POY EINAI H EPI8YMHTH SELIDA

TO PROBLHMA EINAI OTI EITE EIMAI LOGGARISMENOS EITE OXI EKTELEITAI TO ACCESS DENIED (MPAINEI PANTA MESA STO IF AKOMA KAI AN DN EXW LOGGAREI!! LOGIKA DN EXW LOGGAREI DN YPARXEI H $_SESSION['SESS_LAST_NAME']

EKTOS AN EXW ANTILHFUEI KATI LA8OS

Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

Προβλημα με login script

Δημοσίευση από EneMe » 12 Δεκ 2008 15:25

Σε παρακαλώ γράφε με μικρά ελληνικά γράμματα και βάζε τον κώδικά σου μέσα σε [cοde] :-)

dourvas
Δημοσιεύσεις: 26
Εγγραφή: 05 Δεκ 2008 15:33

Προβλημα με login script

Δημοσίευση από dourvas » 12 Δεκ 2008 16:09

OK

εκανα καποιες αλλαγες και υπαρχει μια εξελιξη. Χρησιμοποιησα την εντολη
[session_register("authenticated"); ] οταν βρεθει ο χρηστης στην βαση για επιτυχημενο loggin
και [ ιf(!session_is_registered(authenticated)){...Access Denied!...} στην αρχη της member σελιδας (αν το σεσσιον den ειναι registed τοτε βγαλε ιστοσελιδα Access Denied! αλλιως συνεχιζει με τον κωδικα παρακατω απο το if που ειναι και η σωστη σελιδα.
Υπαρχει αλλο προβλημα όμως. αν και δουλευει σωστα εμφανίζονται warnings.

Οταν επιχειρώ να μπω σε member ιστοσελιδα χωρις να εχς συνδεθει βγαζει:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\IEK KOZANHS\teacher.php:4) in C:\xampp\htdocs\IEK KOZANHS\auth.php on line 2 και απο κατω το σωστο Access Denied

Αν συνδεεθω και επιχειρησω να εμφανισω την member σελιδα εμφανίζεται:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\IEK KOZANHS\teacher.php:4) in C:\xampp\htdocs\IEK KOZANHS\auth.php on line 2

Πως θα διώξω αυτα τα warnings.?
η member σελιδα ειναι η teacher.php οπου στην 4η γραμη του κανω include το auth
3 & 4η γραμμη teacher
[<head>
<?php include 'auth.php'?>]
οπως βλεπετε δν υπαρχουν περιττα κενα στα php tags
η γραμμη 1& 2 του auth
[<?php
session_start();]

Επίσης εχω κανει edit με το notepad ολα tα php.ini αρχεια που βρηκα με search μεσα στον φακελο xampp που χρησιμοποιω και αλλαξα παντού το
error_reporting = E_ALL & ~E_NOTICE σε
;error_reporting = E_ALL & ~E_NOTICE

Τι αλλο μπορω να κανω. Σας παρακαλω βοηθήστε με. Τουλάχιστον να μην εμφανιζονται τα warnings...

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6228
Εγγραφή: 30 Νοέμ 2004 03:09

Προβλημα με login script

Δημοσίευση από fafos » 12 Δεκ 2008 16:16

to <?php include 'auth.php'?> prepei na einai sthn koryfh ths selidas... tipota allo prin apo auto...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

dourvas
Δημοσιεύσεις: 26
Εγγραφή: 05 Δεκ 2008 15:33

Προβλημα με login script

Δημοσίευση από dourvas » 12 Δεκ 2008 18:28

Δουλευει...
Το ξερα οτι επρεπε να ειναι στην κορυφή της σελίδας αλλα για καποιον λογο ειχα την εντυπωση πως πρεπει να ειναι κατω απο το
<html>
<head>

ολα καλα τωρα. ΕΥΧΑΡΙΣΤΩ ΠΟΛΥ....

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες