Jump to content



Php login συνεχές authorization


tigrakas

Recommended Posts

Λοιπόν,

Επειδή δε μπορώ να βρω ένα manual της προκοπής για να καταλάβω τι γίνεται με τα global vars στην Php είπα να ζητήσω λίγη βοήθεια. Όπως ίσως καταλαβαίνεται και στο τίτλο αυτό που θέλω να κάνω είναι ένα Login script με το οποίο ο χρήστης θα αποκτά πρόσβαση στη βάση και γενικότερα σε διάφορες σελίδες διαχείρησης Onsite της βάσης (δηλ. να στέλνει queries δηλαδή να βλέπει δεδομένα κλπ.). Θέλω λοιπόν όταν κάνει login ο χρήστης να μου εξηγήσει κάποιος αν μπορεί πως κάθε script που θα τρέχει μετά αφού είναι ήδη συνδεδεμένος θα μπορεί να το τρέχει χωρίς να χρειάζεται να κάνω σε κάθε script connect και να παίρνει auth κάθε φορά για να κάνει ένα query?

δηλαδή:

α)

login.php //εισάγει τα στοιχεία του ο χρήστης

αποθήκευση των εισηγμένων στοιχείων σε global μεταβλητές: πχ $username,$password

β)

μετάβαση μετα στο

query.php //αυτό είναι το script για να τρέχει queries ας πούμε.

εδώ τώρα πως θα ξέρω οτι ο χρήστης είναι εισηγμένος?

θα ξανακάνω connect στη βάση (sto background βέβαια) με τις $username,$password?.

Πως θα μπορέσω να κάνω parse τις μεταβλητές από το ένα script στο άλλο έστω και όταν το login.php ας πούμε είναι included στο query.php γιατί όσες φορές και αν προσπάθησα δε το κατάφερα.

Χαρακτηριστικά αναφέρω:

//file=query.php

<?php

include_once("login.php");

//μεσα στο login κάνει mysql_connect στη βάση με τα username,password που παίρνει //από το χρήστη. Μετά αποθηκεύει στις $username,$password τα στοιχεία που πήρε και //γυρνάει στο query.php. Αν τώρα το connection πάει καλά το $connected παίρνει true //αλλιώς false.

if ($connected) {

echo "OLA OK";

} else {

echo "OXI OK";

}

//Ενώ έχει γίνει το connection μου επιστρέφει ΟΧΙ ΟΚ. Να ενημερώσω ότι δεν έχω //δηλώσει πουθενά τη $connected γιατί σε πολλά scripts που είδα ούτε αυτή είχαν. Με //λίγα λόγια κάτι κάνω λάθος αλλά τι;

γ) Πιστεύετε ότι αυτός ο τρόπος που πάω να χρησιμοποιήσω είναι σωστός ή όχι;

δ) Επίσης βρήκα αυτό:

<?php

$authorization = 0; // anti-hack

if(($_SERVER['PHP_AUTH_USER'] == "admin") && ($_SERVER['PHP_AUTH_PW'] == "secret")){

$authorization = 1;

} else {

$authorization = 0;

}

if($authorization != 1){ // if password is wrong

header("WWW-Authenticate: Basic realm=\"login\""); // Generate Login Box

header("HTTP/1.0 401 Unauthorized"); // Send to error page if wrong password.

exit("Authorization is required");

}

Τι παίζει με αυτό; μήπως είναι κάποιος ιδιαίτερος τρόπος που θα ήταν καλό και πιο εύχρηστο να χρησιμοποιήσω;

Ευχαριστώ και συγνώμη για τη μακρυγορία

Link to comment
Share on other sites

Παίδες να σας ενημερώσω οτι βρήκα αυτό που ήθελα με τη χρήση των sessions.

Τώρα έχω μια άλλη ερώτηση (που πολύ περιληπτικά ανέφερα παραπάνω):

έχω τα εξής:

[connect.php]

<?php

$isConnected=connect(...mplampla);

function connect(....mplampla) {

//κάνε connect

if (connect=ok) {

$connected=true;

} else {

$connected=false;

}

//ΜΕΧΡΙ ΕΔΩ ΟΛΑ ΠΑΝΕ ΚΑΛΑ

return $connected;

}

?>

[testa.php]

<?php

include("connect.php");

//ΤΟ ΑΠΟ ΚΑΤΩ ΔΕ ΠΑΙΖΕΙ ΓΙΑΤΙ;

if ($isConnected) {

echo "OLA OK";

} else {

echo "NOT OK";

}

?>

ευχαριστώ.

Link to comment
Share on other sites

δοκίμασε

if (!$isConnected) {

echo "not OK";

} else {

....

}

παντως για να σε βοηθήσω θέλω πλήρης των κώδικα που γράφεις γιατί και ένα ερωτηματικό να ξεχάσεις δεν δουλεύει τιποτα.

Οταν παω σπίτι θα σηκώσω κώδικα παρόμοιο να τον δεις

Link to comment
Share on other sites

αρκετή βοήθεια θα βρεις επίσης (εκτός από εδώ εννοείται :) ) και στο freestuff. Είναι αρκετά παιδιά και εκεί που το κατέχουνε το άθλημα(php). Έχω πάρει αρκετές ιδέες από εκεί.

manual πολύ καλό για php κτλ

Ανάπτυξη web εφαρμογών με PHP και MYsql

SAMS, Γκούρδας

isbn 960-512-351-7

Link to comment
Share on other sites

crmaris ευχαριστώ φίλε μου.

Το πρόβλημα είναι ότι για κάποιο λόγο δε μπορώ να λάβω τις τιμές των vars από ένα αρχείο που έχει γίνει included σε ένα άλλο. Ότι και αν προσπάθησα ότι και αν έκανα δε παίζει να πάρω πληροφορία από var που έχει πάρει τιμή σε άλλο αρχείο. Πιο απλά δε μπορώ να χρησιμοποιήσω μία μεταβλητή σε ένα αρχείο που έχω δηλώσει σε ένα άλλο. Αυτό γιατί μπορεί να συμβαίνει;

Link to comment
Share on other sites

δοκίμασε την require εντολή μπας και σου δουλέψει αντί της include.

Επίσης μπορείς να περάσεις την τιμή αυτήν με ένα hidden button στο άλλο αρχειο(μεσο φόρμας html).

Εδώ ένα παράδειγμα για ένα on line quiz που έχω φτιάξει με php για το πως περνάω το score της πρώτης σελίδας του quiz στην τελική σελίδα τον αποτελεσμάτων

echo "<form name='form' action='http:/../final_score.php' method='post'>";

echo "<input name='score1' type='hidden' value='$score1' />"; // stelnei to score tis quiz1 stin final_score

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.