Ένα απλό User Login σε PHP

Μια περιοχή όπου τα μέλη μας μπορούν να βάζουν τα PHP scripts που έχουν φτιάξει και θέλουν να τα μοιραστούν με τα υπόλοιπα μέλη.

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

Απάντηση
Άβαταρ μέλους
avax31
Δημοσιεύσεις: 95
Εγγραφή: 11 Ιουν 2009 14:16

Ένα απλό User Login σε PHP

Δημοσίευση από avax31 » 28 Οκτ 2009 13:21

mariosal έγραψε:I think I found the error :) :) :) :)

Στο login.php στη σειρά 5 έχεις αρχίσει μία if που δεν την κλείνει.

Δηλαδή γράφεις

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

if($username!='' && $password!='' && $error!=1) 
{ 
$sql="SELECT * FROM usertable WHERE username='$username' AND password='$password'"; 
$result=mysql_query($sql); 
$rows=mysql_num_rows($result);
Άλλαξετο με το

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

if($username!='' && $password!='' && $error!=1) 
{ 
$sql="SELECT * FROM usertable WHERE username='$username' AND password='$password'"; 
$result=mysql_query($sql); 
$rows=mysql_num_rows($result); 
}
Οχι κλείνει στην γραμμη 126

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

<?php &#125;?>
δεν ξερω για ποιον λόγο ειναι ετσι... λες να φταιει αυτο?

Άβαταρ μέλους
avax31
Δημοσιεύσεις: 95
Εγγραφή: 11 Ιουν 2009 14:16

Ένα απλό User Login σε PHP

Δημοσίευση από avax31 » 28 Οκτ 2009 13:29

γιατι ομως το τελευταιο }else{ ειναι κενο και ανοικτο? ειναι σωστο συντακτικα?

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

Ένα απλό User Login σε PHP

Δημοσίευση από mariosal » 28 Οκτ 2009 13:53

μα την τελευταία else κλείνεις με το <?php } ?>

Δοκίμασε να κάνεις αυτό που είπα. Δε θα χάσεις :wink:

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Ένα απλό User Login σε PHP

Δημοσίευση από Basilakis » 28 Οκτ 2009 14:03

το <?php } ?> σιγουρα είναι εκεί, για να κλείσει την εlse. Τώρα για τα ποιο πάνω δεν είδα το script, αλλα λέω να πάρω τη βοήθεια του μάριου και να τον εμπιστευτείς...

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ένα απλό User Login σε PHP

Δημοσίευση από korgr » 28 Οκτ 2009 23:35

Λοιπον ολα οκ στο συστημα μου!
Το register δουλευει τελεια!
Το login δουλευει τελεια!
Το μονο λαθος που βρηκα ηταν πως μετα το επιτυχες login ειχες ενα ατερμονο header("Location: index.php") στην ...index.php

Ειχες δηλαδη:

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

<? 
session_start&#40;&#41;; 
if&#40;!session_is_registered&#40;authenticated&#41;&#41;&#123; 
header&#40;"location&#58;login.php"&#41;; 
&#125;else&#123;
	header&#40;"location&#58;index.php"&#41;;
	&#125;
 $username=$_SESSION&#91;'username'&#93;; 
?>
Την php που εχεις στην αρχη του index.php κανε την:

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

<? 
session_start&#40;&#41;; 
if&#40;!session_is_registered&#40;authenticated&#41;&#41;&#123; 
header&#40;"Location&#58; login.php"&#41;; 
exit;
&#125;
 $username=$_SESSION&#91;'username'&#93;; 
?>

Άβαταρ μέλους
avax31
Δημοσιεύσεις: 95
Εγγραφή: 11 Ιουν 2009 14:16

Ένα απλό User Login σε PHP

Δημοσίευση από avax31 » 29 Οκτ 2009 02:16

Το register δουλευει και σ' εμενα.
Το login εξακολουθει να μου κανει λουπα και να μην με οδηγει στην index.php :[
Τωρα οταν το ανεβαζω στον server μου βγαζει αυτο:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/avax31/public_html/aqua/administrator/login.php on line 9

εβαλα αυτο στον κωδικα:

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

if&#40;$rows=mysql_num_rows&#40;$result&#41;&#41;&#123;
return $row;
&#125;else&#123;
print&#40;mysql_error&#40;&#41;&#41;;
&#125; 
και μου εμφανιζει αυτο:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/avax31/public_html/aqua/administrator/login.php on line 9
No database selectedΑνεπιτυχές Login, δοκιμάστε πάλι

Τι συμαινει αυτο? Δεν εννοειται πως ειναι ηδη συνδεδεμενο με την βαση μεσω του include?

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ένα απλό User Login σε PHP

Δημοσίευση από korgr » 29 Οκτ 2009 09:51

Περιεργο!
Το μηνυμα αυτο σημαινει πως δεν διαβασε την

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

mysql_select_db&#40;"aquasana"&#41;;
Δοκιμασε με

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

require_once&#40;'db_connect'&#41;;
αντι της include, για να δουμε τι μηνυμα λαθους θα βγαλει...
Παντως στον κωδικα ολα ειναι οκ αφου εμενα μου δουλεψε (απλα mysql user αλλαξα για να μην δημιουργησω τον δικο σου)

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

Ένα απλό User Login σε PHP

Δημοσίευση από Apostolis_38 » 29 Οκτ 2009 21:29

avax31, αν οι δύο databases έχουν διαφορά έστω και ένα κενό/γράμμα/ψηφίο το connect δεν θα γίνει.
Είναι σίγουρο οτι τα host, user name, password είναι εντάξει;
Επίσης ένα πολύ συνηθισμένο σφάλμα προκύπτει οταν πολλοί servers βάζουν κάποιο πρόθεμα μπροστά.
π.χ. αν είσαι στην εταιρεία avax και φτιάξεις την βάση apostolis τότε η βάση θα είναι η avax_apostolis

Άβαταρ μέλους
avax31
Δημοσιεύσεις: 95
Εγγραφή: 11 Ιουν 2009 14:16

Ένα απλό User Login σε PHP

Δημοσίευση από avax31 » 30 Οκτ 2009 01:15

Apostolis_38 έγραψε:avax31, αν οι δύο databases έχουν διαφορά έστω και ένα κενό/γράμμα/ψηφίο το connect δεν θα γίνει.
Είναι σίγουρο οτι τα host, user name, password είναι εντάξει;
Επίσης ένα πολύ συνηθισμένο σφάλμα προκύπτει οταν πολλοί servers βάζουν κάποιο πρόθεμα μπροστά.
π.χ. αν είσαι στην εταιρεία avax και φτιάξεις την βάση apostolis τότε η βάση θα είναι η avax_apostolis
Δεν αποκλειεται να εχω κανει καμια τετοια πατατα γιατι εκει που το ανεβαζω μου βαζει προθεμα. Αυτο που με προβληματιζει ειναι οτι στον Korg ετρεξε μια χαρα...
Σημερα δοκιμασα με την τελευταια εκδοση του xampp, προσπαθησα και με το appserv αλλα με αυτο ηταν χειροτερα. Θα δοκιμασω με το xampp και θα σας ενημερωσω πιο νεο προβλημα μου βγαζει, γιατι σιγουρα θα βγαλει.
Εχω αρχισει και απογοητευομαι :]

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

Ένα απλό User Login σε PHP

Δημοσίευση από Apostolis_38 » 30 Οκτ 2009 08:29

- Μπορεί ο korgr να δημιούργησε τη βάση με το όνομα που της έχεις δώσει.
- Μην απελπίζεσαι. Είναι εκνευριστικό να σου βγάζει συνέχεια σφάλματα αλλά είναι ο καλύτερος τρόπος για να μάθεις. Επίσης εγώ θα σου πρότεινα να "έρθεις" όσο πιο κοντά γίνεται σε πραγματικό περιβάλλον. Οποτε έχεις χρόνο προσπάθησε να στήσεις έναν κανονικό server με Apache - PHP - MySQL κι όχι με xampp και άλλα τέτοια εξωτικά. Αυτά τα προγράμματα κάνουν αρκετή " δουλειά για σένα" και στην ουσία σου κρύβουν προβλήματα τα οποία είναι πολύ πιθανόν να αντιμετωπίσεις όταν ανεβάζεις το site σου σε ένα κανoνικό server.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ένα απλό User Login σε PHP

Δημοσίευση από korgr » 30 Οκτ 2009 09:28

Ναι, ρητα δημιουργησα την βαση εδω στο δικο μου localhost (που τρεχω xampp), πληκτρολογωντας το ονομα και φυσικα χωρις προθεμα.

Άβαταρ μέλους
avax31
Δημοσιεύσεις: 95
Εγγραφή: 11 Ιουν 2009 14:16

Ένα απλό User Login σε PHP

Δημοσίευση από avax31 » 30 Οκτ 2009 11:49

Apostolis_38
θα το δοκιμασω κι αυτο. παω να διαβασω πως γινεται και επιστρεφω

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

Ένα απλό User Login σε PHP

Δημοσίευση από Apostolis_38 » 30 Οκτ 2009 18:17

:D :D :D
Εγώ μια ιδέα έριξα.
Πάντως πέρα απο την πλάκα, προσωπικά πάντα, πιστεύω πως θα σε βοηθήσει γιατί στήνοντας τις εφαρμογές με την μικρότερη δυνατή αυτοματοποίηση, θα καταλάβεις πως συνδέονται τα τρία αυτά προγράμματα, συνεπώς ορισμένα προβλήματα θα σου είναι πιο κατανοητά.
Οταν φτάσεις στο επίπεδο του korgr και των άλλων εδώ μέσα κάτι xampp και κάτι τέτοια θα τα έχεις για πλάκα...

Άβαταρ μέλους
avax31
Δημοσιεύσεις: 95
Εγγραφή: 11 Ιουν 2009 14:16

Ένα απλό User Login σε PHP

Δημοσίευση από avax31 » 31 Οκτ 2009 01:35

Εχεις δικιο αλλα ο παραγοντας χρονος ειναι εινα θεμα :]
Παντος σε μια πρωτη επαφη ψιλοχαθηκα...

Άβαταρ μέλους
avax31
Δημοσιεύσεις: 95
Εγγραφή: 11 Ιουν 2009 14:16

Ένα απλό User Login σε PHP

Δημοσίευση από avax31 » 31 Οκτ 2009 09:46

Καλημερα κατ αρχας.
Μου βγαζει τωρα αυτο το μνμ:

Parse error: syntax error, unexpected $end in J:\xampp\htdocs\aqua\administrator\index.php on line 141

Στην line 141 ειναι το </html>

Απάντηση

Επιστροφή στο “PHP τα δικά μας scripts”

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

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