_Marios_ Δημοσ. 13 Νοεμβρίου 2010 Δημοσ. 13 Νοεμβρίου 2010 Γεια σας παιδια. Εχω μια φορμα με method: get ωστε να μπορω να εχω δυναμικες σελιδες. Απο αυτα που εχω καταλαβει στις δυναμικες σελιδες οτι τιμες χρησιμοποιεις στη σελιδα που θα εχει την ιδια μορφη αλλα τα δεδομενα του καθε χρηστη, αυτες οι τιμες πρεπει να ειναι στη δυναμικη σελιδα. δηλαδη εχουμε μια σελιδα που χρησιμοποιουμε firstname,lastname,age, πρεπει: http://www.mysite.gr/mysite.php/?firstname=takis&lastname=takis. καπως ετσι. 1) σωστα; οι γινετε και αλλιως; δηλαδη να χρησιμοποιω πολλα δεδομενα για καθε χρηστη και να βα2ω μονο ενα στο δυναμικο URL; 2)Εγω αυτο που θελω ειναι για τον καθε χρηστη να υπαρχει ενα τετοιο url:http://www.mysite.gr/as2a ανεξαρτητα ποια values θα χρησιμοποιω δηλαδη για καθε χρηστη να υπαρχει ενα σταθερο url τετραψηφιο με γραμματα και αριθμους.
thanocaster Δημοσ. 13 Νοεμβρίου 2010 Δημοσ. 13 Νοεμβρίου 2010 Αυτό που λες γίνεται πανεύκολα με μια βάση δεδομένων. Πιο συγκεκριμένα, στη βάση έχεις μια στήλη με τίτλο user (που πρέπει να είναι unique, δηλαδή να μην μπορούν να υπάρξουν 2 καταχωρήσεις με το ίδιο όρισμα), την οποία χρησιμοποιείς για να παίρνεις τα δεδομένα κάθε χρήστη: > id firstname lastname user 1 Giorgos Papadopoulos as2a 2 Giannis Papanikolaou as2b Έτσι, με ένα url της μορφής index.php?user=as2a, τραβάς τις πληροφορίες του Γιώργου Παπαδόπουλου, ενώ αν θέσεις user=as2b, του Γιάννη Παπανικολάου. Στη συνέχεια, τσεκάρεις ότι είναι ενεργοποιημένο το mod_rewrite module στον apache (επικοινωνείς με το τεχνικό τμήμα του hoster σου), και μετά δημιουργείς ένα αρχείο με το όνομα ".htaccess" (ακριβώς όπως είναι γραμμένο, χωρίς τα εισαγωγικά) στο root του domain σου. Το ανοίγεις με έναν text editor και γράφεις μέσα: > Options +FollowSymLinks RewriteEngine on RewriteRule (.*)/$ /mysite.php?user=$1 Έτσι, όταν δίνεις για παράδειγμα την διεύθυνση "http://www.mysite.gr/as2a", ο apatche θα βλέπει "http://www.mysite.gr/mysite.php?user=as2a".
_Marios_ Δημοσ. 13 Νοεμβρίου 2010 Μέλος Δημοσ. 13 Νοεμβρίου 2010 ΤΕΛΕΙΑ. Δηλαδη χρησιμοποιώντας το user του αποσπω ολες της πληροφοριες; μπορω στο site να γραψω $_get και το ονομα και το επιθετο; και πως θα δημιουργειται το as2a; τι κωδικα θα γραψω;
x_maras Δημοσ. 13 Νοεμβρίου 2010 Δημοσ. 13 Νοεμβρίου 2010 ΤΕΛΕΙΑ. Δηλαδη χρησιμοποιώντας το user του αποσπω ολες της πληροφοριες; μπορω στο site να γραψω $_get και το ονομα και το επιθετο;και πως θα δημιουργειται το as2a; τι κωδικα θα γραψω; Αν έχεις το key του πίνακα Users, όπως το σχεδίασε ο Thanocaster, τότε απλα το χρησιμοποιείς για να ανακτήσεις όλη την εγγραφή από τη βάση. π.χ. (με MySQL) Αν υποθέσουμε ότι το table σου ονομάζεται Users "SELECT * FROM Users WHERE user = '" . $_GET['user'] . "'"; και έχεις όλη την εγγραφή (id, firstname, lastname, user) δες το παρακάτω tutorial αν δε ξέρεις πως http://www.tizag.com/mysqlTutorial/index.php
_Marios_ Δημοσ. 13 Νοεμβρίου 2010 Μέλος Δημοσ. 13 Νοεμβρίου 2010 οκ. καιto user πως θα δημιουργει 4 χαρακτηρες με γραμματα και αριθμους; ---------- Προσθήκη στις 18:14 ---------- Προηγούμενο μήνυμα στις 14:34 ---------- Σορι για το double post. Παιδια χρει2ομαι βοηθεια για τη δημιουργια id τετραψηφιου με γραμματα και αριθμους. πχ: a32u. Δηλαδη αυτο στο λινκ. http://www.shrinkrays.net/articles/friendly-unique-id-generation/part-2.aspx#alphanumeric Πως θα το κανω να φιαχνει στη βαση δεδομενων τετοια id και προφανως να ελεγχετε καθε φορα που παει να το φιαξει για ωστε να ειναι μοναδικο.
thanocaster Δημοσ. 13 Νοεμβρίου 2010 Δημοσ. 13 Νοεμβρίου 2010 Κάτσε μισό γιατί τα έχεις μπερδέψει. Αν αυτό που έβαλες ως "as2a" δεν είναι κάποιο nickname που επιλέγει ο χρήστης κατά την εγγραφή του, κάνεις δουλειά μόνο με το id, το οποίο ορίζεις στη βάση ως primary key και auto_increment. Έτσι, η ίδια η βάση θα του δίνει αυτόματα τιμή για κάθε νέα καταχώρηση. Όμως, έτσι θα έεχεις έναν μοναδικό ακέραιο ως αναγνωριστικό της κάθε καταχώρισης και όχι ένα αλφαριθμητικό.
_Marios_ Δημοσ. 13 Νοεμβρίου 2010 Μέλος Δημοσ. 13 Νοεμβρίου 2010 Οχι nickname. το εξηγω ξεκαθαρα οτι θελω αλφαριθμιτικο. id προφανως εχω και ανεβαινει κατα 1 καθε καινουργια καταχωρηση. .........
macabre_sunsets Δημοσ. 13 Νοεμβρίου 2010 Δημοσ. 13 Νοεμβρίου 2010 Δημιουργία συμβολοσειράς με αριθμούς και γράμματα: >function genRandomString() { $length = 4; $characters = "0123456789abcdefghijklmnopqrstuvwxyz"; $string = ""; for ($p = 0; $p < $length; $p++) { $string .= $characters[mt_rand(0, strlen($characters))]; } return $string; } πηγή edit: Δεν είχα δει το παραπάνω link. Στην βάση μπορείς να βάλεις ένα extra πεδίο όπου θα αποθηκεύεται το 4ψηφιο string (πχ/ 4psifio). Έπειτα, πριν από κάθε εισαγωγή ενος καινούριου 4ψήφιου θα ψάχνεις αν υπάρχει ήδη. Για παράδειγμα: >$result = mysql_query("SELECT * FROM users WHERE 4psifio='. $string .'"); $num_rows = mysql_num_rows($result); if ($num_rows == 0) { //Δεν υπάρχει ήδη άρα αποθήκευσέ το. }
_Marios_ Δημοσ. 13 Νοεμβρίου 2010 Μέλος Δημοσ. 13 Νοεμβρίου 2010 ωραια. πως θα περναι στη βαση το τετραψηφιο. μπορεις να μου το γραψεις ολοκληρωμενα και ακριβως.. ---------- Προσθήκη στις 23:02 ---------- Προηγούμενο μήνυμα στις 20:53 ---------- βασικα παιδια το εκανα να τυπώνει τετοιο τετραψηφιο αριθμο. Θελω να μου πειτε πως περναω το αποτελεσμα τησ συναρτησεις στη βάση ---------- Προσθήκη στις 23:57 ---------- Προηγούμενο μήνυμα στις 23:02 ---------- DONE. ΕΥΧΑΡΙΣΤΩ για τις απαντησεις.
x_maras Δημοσ. 14 Νοεμβρίου 2010 Δημοσ. 14 Νοεμβρίου 2010 Βασικά και γω νόμιζα ότι το 4ψηφιο είναι το username. Γιατί δε διαβάζεις το link που σου έδωσα; Θα σου δώσει την απάντηση γρηγορότερα από το φόρουμ και θα κάνεις και αυτό που εσύ ακριβώς θες, γιατί εδώ άλλα καταλαβαίνουμε από αυτά που λες και χρειάζονται 2-3 ποστ για να μπούμε στο νόημα. Αν έχεις μετά πρόβλημα με το κώδικα το κάνεις ποστ και κάποιος θα σε βοηθήσει.
_Marios_ Δημοσ. 14 Νοεμβρίου 2010 Μέλος Δημοσ. 14 Νοεμβρίου 2010 Για τους....-ξανα λέω: DONE. ΕΥΧΑΡΙΣΤΩ για τις απαντησεις.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.