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

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

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

Απάντηση
Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

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

Δημοσίευση από billt » 05 Δεκ 2007 11:44

Θα προσθέσεις ένα πεδίο (έστω adminlevel) στον πίνακα των χρηστών που θα παίρνει κάποιες τιμές (πχ 1 για admin, 0 για χρήστη)

Όταν γίνεται η αναγνώριση θα εξάγεται από τη βάση το adminlevel και η πρόσβαση στις σελίδες θα εξαρτάται από την τιμή αυτή.

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

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

Δημοσίευση από vassilism » 22 Δεκ 2007 00:03

Καλησπέρα στην παρέα.
Έχω ένα προβληματάκι με αυτό το script.
Ενώ τα έχω κάνει όλα σωστά, και εφόσον συνδέομαι με κωδικό μου βγάζει αυτά:

Warning: session_register() [function.session-register]: Cannot send session cookie - headers already sent by (output started at /home/lernijui/public_html/admin/login.php:1) in /home/lernijui/public_html/admin/login.php on line 14

Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at /home/lernijui/public_html/admin/login.php:1) in /home/lernijui/public_html/admin/login.php on line 14
Επιτυχής Login

Γιατί? :think:

Άβαταρ μέλους
billt
Δημοσιεύσεις: 1175
Εγγραφή: 20 Φεβ 2004 16:17
Τοποθεσία: Θεσσαλονίκη

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

Δημοσίευση από billt » 22 Δεκ 2007 00:53

Auto vgainei sinithos otan exeis polles kenes seires kai episis otan pas na ekteleseis to header:location.... eno kapou prin iprarxei output ston browser px kapoia entoli echo, print ktl

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

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

Δημοσίευση από vassilism » 22 Δεκ 2007 01:26

den mporo na katalavo, autos einai o kodikas pou xrisimopoio.

login.php

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

<?php 
include &#40;'../config/dbconnect.php'&#41;;
$username=$_POST&#91;username&#93;; 
$password=md5&#40;$_POST&#91;password&#93;&#41;; 
if&#40;$username!='' && $password!='' && $error!=1&#41; 
&#123; 
$sql="SELECT * FROM usertable WHERE username='$username' AND password='$password'"; 
$result=mysql_query&#40;$sql&#41;; 
$rows=mysql_num_rows&#40;$result&#41;; 
   if &#40;$rows==1&#41;&#123; 
   session_register&#40;"authenticated"&#41;; 
   echo "Επιτυχής Login"; 
   &#125; else &#123; 
   echo "Ανεπιτυχές Login, δοκιμάστε πάλι"; 
   $error=1; &#125; 
&#125; 
else &#123; 
?> 
<html> 
<head> 
<title>Login</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
</head> 
<body> 
<form action="login.php" method="post"> 
<input name="username" type="text" value="username" size="40"><br> 
<input name="password" type="password" value="password" size="40"><br> 
<input name="submit" type="submit" value="Login"> 
</form> 
</body> 
</html> 
<?php &#125;?>

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

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

Δημοσίευση από Alice_Cooper » 22 Δεκ 2007 01:35

look sto dbconnect an exeis kana akyro enter ...
h an kaneis to login.php apo kapou include ti stelneis prin

look isos kai na kaneis to

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

<?php
include &#40;'../config/dbconnect.php'&#41;; 
etc...

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

<?php include &#40;'../config/dbconnect.php'&#41;; 

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

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

Δημοσίευση από vassilism » 24 Δεκ 2007 12:52

Παιδιά το δοκίμασα αλλά δυστυχώς δεν είναι αυτό.
Έχω την υποψία ότι είναι θέμα server. Το δοκίμασα local και δεν μου βγάζει αυτά τα Warning.
Τι μπορεί να φταίει?

Άβαταρ μέλους
iIi_300_iIi
Δημοσιεύσεις: 7
Εγγραφή: 25 Δεκ 2007 11:13

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

Δημοσίευση από iIi_300_iIi » 27 Δεκ 2007 16:14

..Και έψαχνα για κάτι τέτοιο..

Άβαταρ μέλους
w3Cy
Δημοσιεύσεις: 23
Εγγραφή: 02 Ιουν 2005 23:38

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

Δημοσίευση από w3Cy » 30 Δεκ 2007 11:46

Μια πιθανότητα:

Επειδή υπάρχουν ελληνικοί χαρακτήρες μέσα στο script που χρησιμοποιείς, την ώρα που αποθηκεύεται από ορισμένους επεξεργαστές κειμένου (π.χ. Windows Notepad) ένα byte-order mark (BOM) θα προσθεθεί στην αρχή του file.

Το αποτέλεσμα είναι το BOM να θεωρείται από τον server ως html και να γίνεται output πριν να προλάβουν να σταλούν τα headers και έτσι να παρουσιάζεται αυτό το error.

Προσπάθησε να φύγεις όλους τους ελληνικούς χαρακτήρες από το script και επαναποθήκευσε το σε άλλο αρχείο.

Αν έχει φύγει το πρόβλημα, τότε σημαίνει φταίει το BOM και μπορείς να χρησιμοποιήσεις επεξεργαστές που έχουν την δυνατότητα αποθήκευσης σε "UTF8 without BOM".

Παραδείγματα το Notepad++ και PHP Designer 2008.

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

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

Δημοσίευση από vassilism » 30 Δεκ 2007 20:11

Φίλε w3Cy επειδή ασχολούμαι εδώ και μερικές ημέρες με αυτό το script, πριν δω την απάντησή σου κατάλαβα ότι το πρόβλημα ήταν στην κωδικοποίηση.
Έχεις απόλυτο δίκιο σε όσα αναφέρεις.
Το έκανα save UTF8 without BOM και δεν έχω κανένα πρόβλημα.
Σευχαριστώ πολύ για την απάντησή σου. :D

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

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

Δημοσίευση από vassilism » 13 Ιαν 2008 15:42

Καλησπέρα σας.
Θα ήθελα να ρωτήσω κάτι ακόμα.

Στο register.php αν πατήσεις register χωρίς να έχεις δώσει στοιχεία στην φόρμα, δεν κάνει τίποτα.

Πώς θα μπορούσαμε να βγάζαμε ένα μήνυμα ότι π.χ δεν έχετε εισάγει στοιχεία στην φόρμα?

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

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

Δημοσίευση από Alice_Cooper » 13 Ιαν 2008 16:02

vale kai mia kryfh timh sthn form
px forma1='estila'

kai meta

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

...
&#125;
else &#123; 
if &#40;$_POST&#91;forma1&#93;='esteila'&#41; echo 'dose user/pass';
?>
<html>
.... 

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

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

Δημοσίευση από vassilism » 14 Ιαν 2008 16:35

Το έκανα αλλά μου βγάζει dose user/pass χωρίς να έχω πατήσει register.
Δεν ξέρω μήπως κάνω λάθος στην κρυφή τιμή της φόρμας.
Κάνω αυτό:

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

<input type="hidden" name="esteila" value="forma1='esteila'"/>

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

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

Δημοσίευση από Alice_Cooper » 15 Ιαν 2008 02:07

nai ;)

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

<input type="hidden" name="forma1" value="esteila"/>
episeis skeftomoun giati tha mporouse na isxhh panta h if ....
thelei na kanou me to ($_POST[forma1]='esteila') --> ($_POST[forma1]=='esteila')

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

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

Δημοσίευση από vassilism » 16 Ιαν 2008 00:03

Σευχαριστώ πολύ Alice. :victory:

Όντως ήθελε == στην if.

Επίσης έβαλα την if σε php tags έτσι ώστε να μπορώ να εμφανίζω το κείμενο σε όποιο σημείο θέλω.

Ίσως να βοηθήσει και κάποιον άλλον.

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

<?php if &#40;$_POST&#91;forma1&#93;=='esteila'&#41;&#123;echo  'Δεν έχετε εισάγει όνομα & κωδικό χρήστη. ';&#125;?>

merkutios
Δημοσιεύσεις: 1
Εγγραφή: 18 Ιαν 2008 13:56

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

Δημοσίευση από merkutios » 18 Ιαν 2008 14:06

poly wraio to script! se eyxaristw poly proswpika gia thn genaiodwria sou, giati me vohthaei poly sthn katanohsh ths php(san arxarios p eimai :D). h erwthsh mou einai: ti tha prepei na prosthesoume gia na baloume kai account activation? (afou fysika peiraxoume ligo thn bash dedomenwn?

:)

Απάντηση

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

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

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