Διαφορετικοί χρήστες --> Διαφορετικά Locations

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

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

Απάντηση
konauth
Δημοσιεύσεις: 14
Εγγραφή: 12 Ιαν 2010 21:41

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από konauth » 12 Ιαν 2010 22:03

Καλησπέρα παίδες!Χρειάζομαι βοήθεια με ένα php scirpt που έχω κάνει.
Η ιστοσελίδα που δημιουργώ λειτουργεί local επομένως δεν χρειάζομαι καμία είδους ασφάλεια όπως θα καταλάβετε και από τον κώδικα που χρησιμοποιώ. :lol:
Λοιπόν έχω δημιουργήσει έναν πίνακα members στον οποίο υπάρχει ένα πεδίο role.
Το πεδίο role παίρνει 2 τιμές: 0(αν είναι μαθητής) και 1(αν είναι καθηγητής)
Επομένως θέλω να ελέγχει το πεδίο role και να κατευθύνει τον χρήστη στην αντίστοιχη σελίδα.Όποιος μπορεί ας βοηθήσει.Ευχαριστώ εκ των προτέρων :)
Ο κώδικας που χρησιμοποιώ είναι:

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

<?php
ob_start&#40;&#41;;
$host="localhost"; 
$username="myuser"; 
$password="mypsw";
$db_name="1415";
$tbl_name="members"; 

mysql_connect&#40;"$host", "$username", "$password"&#41;or die&#40;"cannot connect"&#41;;
mysql_select_db&#40;"$db_name"&#41;or die&#40;"cannot select DB"&#41;;


$myusername=$_POST&#91;'myusername'&#93;;
$mypassword=$_POST&#91;'mypassword'&#93;;

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query&#40;$sql&#41;;

$role="SELECT role FROM $tbl_name";
$result2 = mysql_query&#40;$role&#41;;

$count=mysql_num_rows&#40;$result&#41;;
if&#40;$count==1&#41;&#123;
session_register&#40;"myusername"&#41;;
session_register&#40;"mypassword"&#41;;
if &#40;$result2==0&#41;&#123;
	header&#40;"location&#58;student/index.php"&#41;;&#125;
else&#123;
	header&#40;"location&#58;tutor/index.php"&#41;;&#125;
&#125;
else&#123;
echo "Wrong Username or Password";
&#125;

ob_end_flush&#40;&#41;;
?>

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από dimsis » 12 Ιαν 2010 22:08

SELECT role FROM $tbl_name WHERE κλειδίπίνακαuser=useridαυτουνούπουέκανεlogin

αλλιώς απλώς τραβάς ΟΛΕΣ τις εγγραφές από τον πίνακα role σου ...

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

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από fafos » 12 Ιαν 2010 22:11

to select role den to xreiazesai dioti to exei parei apo to prohgoumeno query ($sql) opote to role einai: $result[role]

opote ta if ginontai kapos etsi:

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

if &#40;$result&#91;role&#93;==0&#41;&#123;
   header&#40;"location&#58;student/index.php"&#41;;&#125;
else&#123;
   header&#40;"location&#58;tutor/index.php"&#41;;&#125;
&#125; 
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

konauth
Δημοσιεύσεις: 14
Εγγραφή: 12 Ιαν 2010 21:41

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από konauth » 12 Ιαν 2010 22:22

Φίλε dimsis θέλω να επιλέγει όλες τις εγγραφές από το πεδίο role του πίνακα members.

Φίλε fafos χρησιμοποιώντας τον κώδικα που μου έδωσες αν και μου φαίνεται σωστός δεν είναι.Κατευθύνει τους user άσχετα από το role τους στην σελίδα student/index.php

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από dimsis » 12 Ιαν 2010 22:26

Και που συσχετίζεις τον ρόλο με τον χρήστη στον κώδικα που μας παρέθεσες; στην tutor/index.php υποτίθεται θα γίνετε; εκεί τι κώδικα έχεις;

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

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από fafos » 12 Ιαν 2010 22:31

to role einai ston idio pinaka me ta usernames kai kodikous? dose ena echo $result[role]; kato apo to query kai des an pairneis to sosto noumero..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

konauth
Δημοσιεύσεις: 14
Εγγραφή: 12 Ιαν 2010 21:41

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από konauth » 12 Ιαν 2010 22:38

Το πεδίο role το επεξεργάζομαι manual από την βάση δεδομένων mysql οπότε δίνω εγώ την τιμή στο πεδίο αυτό στον αντίστοιχο χρήστη και επιπλέον βρίσκεται στον ίδιο πίνακα με τα usernames και τα passwords.
Το μόνο που θέλω να γίνεται στην login page είναι ανάλογα με τον χρήστη να πηγαίνει σε διαφορετική σελίδα.Ο κώδικας της tutor/index.php δε νομίζω ότι χρειάζεται κάπου.
Δηλαδή για να γίνω καλύτερα κατανοητός θέλω:

Έλεγχο του role:

- Αν είναι 0
- Αν είναι 1

"Αποστολή" με την εντολή header() σε συγκεκριμένη σελίδα:

- 0 ==> student/index.php
- 1 ==> tutor/index.php

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

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από fafos » 12 Ιαν 2010 23:01

to katalavame ti kaneis file mou.. to echo $result[role]; to dokimases na deis ti arithmo sou dinei?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

konauth
Δημοσιεύσεις: 14
Εγγραφή: 12 Ιαν 2010 21:41

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από konauth » 12 Ιαν 2010 23:13

Μου βγάζει:
Notice: Use of undefined constant role - assumed 'role' in ....

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

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από fafos » 13 Ιαν 2010 00:02

konauth έγραψε:Μου βγάζει:
Notice: Use of undefined constant role - assumed 'role' in ....
kapoion arithmo (0 h 1) sou vgazei?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

konauth
Δημοσιεύσεις: 14
Εγγραφή: 12 Ιαν 2010 21:41

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από konauth » 13 Ιαν 2010 00:08

Τίποτα από τα δυο. :(

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

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από ThyClub » 13 Ιαν 2010 00:27

Πρώτα απ όλα κάνε escape τα πεδία που ζητάς απο τους πίνακες με αυτάκια "`" είναι το πλήκτρο "~".

Έτσι πχ κάνε:

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

$role="SELECT `role` FROM `$tbl_name`";
$result2 = mysql_query&#40;$role&#41;;  
και δοκίμασε να δείς τι σου βγάζει η mysql με :
echo mysql_error($result2);

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από dva_dev » 13 Ιαν 2010 00:56

Δοκίμασε το

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

$result&#91;role&#93;
να το κάνεις

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

$result&#91;'role'&#93;

konauth
Δημοσιεύσεις: 14
Εγγραφή: 12 Ιαν 2010 21:41

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από konauth » 13 Ιαν 2010 01:27

@ ThyClub
μου βγάζει

Warning: mysql_error(): supplied resource is not a valid MySQL-Link resource

@ dva_dev
το δοκίμασα αλλά πάλι τπτ...

konauth
Δημοσιεύσεις: 14
Εγγραφή: 12 Ιαν 2010 21:41

Διαφορετικοί χρήστες --> Διαφορετικά Locations

Δημοσίευση από konauth » 13 Ιαν 2010 02:10

Παίδες βρήκα την λύση.Ήταν εύκολο τελικά αν και λίγο ανορθόδοξο.
Χρησιμοποίησα την εντολή mysql_fetch_array και δούλεψαν μια χαρούλα.

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

$sql="SELECT role FROM members WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query&#40;$sql&#41;;

$result_role = mysql_fetch_array&#40;$result&#41;;
και μετά στα if έβαλα τον εξής κώδικα:

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

if &#40;$result_role&#91;'role'&#93;==0&#41;&#123;
   header&#40;"location&#58;student/index.php"&#41;;&#125;
else&#123;
   header&#40;"location&#58;tutor/index.php"&#41;;&#125;
Σας ευχαριστώ όλους για τις απαντήσεις.!Ελπίζω με το topic να βοήθησα και άλλους που το χρειάζονται. :)

Απάντηση

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

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

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