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

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

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

Απάντηση
anariane
Δημοσιεύσεις: 14
Εγγραφή: 31 Μάιος 2005 21:37

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

Δημοσίευση από anariane » 05 Φεβ 2006 22:50

Καλησπέρα!
Προσπαθώ να φτιάξω ένα login script και μάλλον τα έχω μπερδέψει λίγο.

Έχω 3 αρχεία:

login.html (φόρμα για Login)
lostPassword.html (φόρμα για lost password)

login.php

αυτό που προσπαθώ να κάνω με το login.php είναι αρχικά να εμφανίζεται το login.html
αν ο χρήστης βάλει τα στοιχεία του κάνει login και συνεχίζει.

αν όμως δε θυμάται τον κωδικό του να πατάει ένα link (Forget password) και να του αποστέλλεται νεος κωδικός.

Το πρόβλημα είναι πώς θα ξέρω ότι ο χρήστης πάτησε το link (Forget Password) για να αρχισει εμφανισθεί η αντιστοιχη σελίδα

ο κώδικας του login.php είναι

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

<?php 

defined&#40; '_VALID_MOS' &#41; or die&#40; 'Direct Access to this location is not allowed.' &#41;; 

require_once&#40;$_SESSION&#91;'path'&#93;.'/class/user.php'&#41;;
$usr = new user&#40;&#41;; 

if&#40;!empty&#40;$_GET&#41;&#41;&#123;
	include&#40;$_SESSION&#91;'path'&#93;.'/html/lostPassword.html'&#41;;
unset&#40;$_GET&#41;;
&#125;
else&#123;
if&#40;empty&#40;$_POST&#41;&#41; 
&#123;
	if &#40;isset&#40;$_POST&#91;'email'&#93;&#41;&#41; $usr->LostPswd&#40;$_POST&#91;'email'&#93;&#41;;&#125;
	else&#123;
		include&#40;$_SESSION&#91;'path'&#93;.'/html/login.html'&#41;;
		echo '<div align="center"><a href="'.$_SERVER&#91;'PHP_SELF'&#93;.'?link=lostPwd">Forgot your password?</a></div>';
	&#125;
&#125;
elseif &#40;!$usr->CheckLogin&#40;$_POST&#91;'username'&#93;, $_POST&#91;'password'&#93;&#41;&#41; 
&#123;
	echo '<div align="center">Wrong username or password!</div>';  
	include&#40;$_SESSION&#91;'path'&#93;.'/html/login.html'&#41;;
&#125;
&#125;

?>

προσπάθησα βάζοντας

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

echo '<div align="center"><a href="'.$_SERVER&#91;'PHP_SELF'&#93;.'?link=lostPwd">Forgot your password?</a></div>';
και υστερα ελέγχοντας αν έχει τεθεί η get
αλλά το πρόβλημα ειναι οτι δείχνει συνέχεια τη φόρμα για νέο κωδικό καθώς η get δεν αλλάζει τιμή.

μήπως θα μπορούσατε να μου πείτε πως μπορώ να κάνω κάτι τετοιο;

ευχαριστώ πολύ και συγγνώμη αν σας κουρασα!

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

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

Δημοσίευση από ThyClub » 05 Φεβ 2006 22:58

Αυτό:

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

if&#40;empty&#40;$_POST&#41;&#41; 
&#123; 
   if &#40;isset&#40;$_POST&#91;'email'&#93;&#41;&#41; $usr->LostPswd&#40;$_POST&#91;'email'&#93;&#41;;&#125; 
   else&#123; 
      include&#40;$_SESSION&#91;'path'&#93;.'/html/login.html'&#41;; 
      echo '<div align="center"><a href="'.$_SERVER&#91;'PHP_SELF'&#93;.'?link=lostPwd">Forgot your password?</a></div>'; 
   &#125; 
&#125; 


είναι λίγο άκυρο γιατί το if είναι valid όταν η $_POST είναι null. Άρα εσύ εδώ λές:

if(empty($_POST)) //αν είναι άδειο το post
{ //τότε
if (isset($_POST['email'])) $usr->LostPswd($_POST['email']);} //Αν το $_POST['email'] κτλ κτλ. Αυτό δεν γίνεται γιατί το $_POST είναι άδειο.
else{
include($_SESSION['path'].'/html/login.html');
echo '<div align="center"><a href="'.$_SERVER['PHP_SELF'].'?link=lostPwd">Forgot your password?</a></div>';
}
}
Βάλε :

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

if&#40;!empty&#40;$_POST&#41;&#41; //Πρόσεξε το !
&#123; 
   if &#40;isset&#40;$_POST&#91;'email'&#93;&#41;&#41; $usr->LostPswd&#40;$_POST&#91;'email'&#93;&#41;;&#125; 
   else&#123; 
      include&#40;$_SESSION&#91;'path'&#93;.'/html/login.html'&#41;; 
      echo '<div align="center"><a href="'.$_SERVER&#91;'PHP_SELF'&#93;.'?link=lostPwd">Forgot your password?</a></div>'; 
   &#125; 
&#125; 

anariane
Δημοσιεύσεις: 14
Εγγραφή: 31 Μάιος 2005 21:37

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

Δημοσίευση από anariane » 06 Φεβ 2006 11:39

καταρχήν ευχαριστώ για το ενδιαφέρον!

αλλαξα γενικά κάποια πράγματα και τώρα δουλεύει :D

Ευχαριστώ πάντως

Απάντηση

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

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

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