tigrakas Posted January 15, 2006 #1 Posted January 15, 2006 Λοιπόν,Επειδή δε μπορώ να βρω ένα 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<?phpinclude_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"); }Τι παίζει με αυτό; μήπως είναι κάποιος ιδιαίτερος τρόπος που θα ήταν καλό και πιο εύχρηστο να χρησιμοποιήσω;Ευχαριστώ και συγνώμη για τη μακρυγορία
tigrakas Posted January 17, 2006 Author #2 Posted January 17, 2006 Παίδες να σας ενημερώσω οτι βρήκα αυτό που ήθελα με τη χρήση των sessions. Τώρα έχω μια άλλη ερώτηση (που πολύ περιληπτικά ανέφερα παραπάνω):έχω τα εξής:[connect.php]<?php$isConnected=connect(...mplampla);function connect(....mplampla) { //κάνε connect if (connect=ok) { $connected=true; } else { $connected=false; } //ΜΕΧΡΙ ΕΔΩ ΟΛΑ ΠΑΝΕ ΚΑΛΑ return $connected;}?>[testa.php]<?phpinclude("connect.php");//ΤΟ ΑΠΟ ΚΑΤΩ ΔΕ ΠΑΙΖΕΙ ΓΙΑΤΙ;if ($isConnected) { echo "OLA OK";} else { echo "NOT OK";}?>ευχαριστώ.
crmaris Posted January 17, 2006 #4 Posted January 17, 2006 δοκίμασεif (!$isConnected) {echo "not OK";} else {....}παντως για να σε βοηθήσω θέλω πλήρης των κώδικα που γράφεις γιατί και ένα ερωτηματικό να ξεχάσεις δεν δουλεύει τιποτα.Οταν παω σπίτι θα σηκώσω κώδικα παρόμοιο να τον δεις
crmaris Posted January 17, 2006 #5 Posted January 17, 2006 <? session_start();if ($username && $pass){//elenxo an o xristis prospathise na syndethi@ $db = mysql_pconnect("dieythinsi sql", "basei dedomenon", "pass");if (!$db) { echo "Error: Could not connect to database. Please try again later."; exit; }
crmaris Posted January 17, 2006 #6 Posted January 17, 2006 αρκετή βοήθεια θα βρεις επίσης (εκτός από εδώ εννοείται ) και στο freestuff. Είναι αρκετά παιδιά και εκεί που το κατέχουνε το άθλημα(php). Έχω πάρει αρκετές ιδέες από εκεί. manual πολύ καλό για php κτλ Ανάπτυξη web εφαρμογών με PHP και MYsql SAMS, Γκούρδας isbn 960-512-351-7
tigrakas Posted January 17, 2006 Author #7 Posted January 17, 2006 crmaris ευχαριστώ φίλε μου.Το πρόβλημα είναι ότι για κάποιο λόγο δε μπορώ να λάβω τις τιμές των vars από ένα αρχείο που έχει γίνει included σε ένα άλλο. Ότι και αν προσπάθησα ότι και αν έκανα δε παίζει να πάρω πληροφορία από var που έχει πάρει τιμή σε άλλο αρχείο. Πιο απλά δε μπορώ να χρησιμοποιήσω μία μεταβλητή σε ένα αρχείο που έχω δηλώσει σε ένα άλλο. Αυτό γιατί μπορεί να συμβαίνει;
crmaris Posted January 17, 2006 #8 Posted January 17, 2006 δοκίμασε την 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
crmaris Posted January 17, 2006 #9 Posted January 17, 2006 εδώ και η σελίδα του quiz.. Hackers keep away γιατί πρόκειται για μια από τις εργασίες εξαμήνου http://ct-green.ct.aegean.gr/~ct02170/par2/
Recommended Posts
Archived
This topic is now archived and is closed to further replies.