Στις: 23 Ιουλ 2012 20:18 Θέμα:
Βοήθεια με κουμπιά επιλογής γλώσσας σε PHP
Καλησπέρα,
Είμαι καινούργιος στο forum οπότε αν κάνω κάποιο λάθος ζητάω εκ τον προτέρων μια μεγάλη συγγνώμη.
Το πρόβλημα μου έχει να κάνει με το γεγονός οτι θέλω να βάλω στο site μου δυο σημαίες, μια Ελληνική (gr.gif) και μια αγγλικη (en.gif), με τέτοιο τρόπο ώστε όποιος πατάει μια απο τις δύο να πηγαίνει σε αυτή, δηλαδή να προστήθετε στο URL το ?language=gr ή το ?language=en.
Το πρόβλημα μου είναι πως θα πω στη php να διαβάζει το URL να προσθέτει σε αυτό ένα απο τα δυο ?language= και να πηγαίνει σε αυτο μέσα στο ίδιο παράθυρο (_self).
Ειμαι αρκετά νέος στη php.
Ευχαριστώ εκ τον προτέρων
Honorary Member Μέλος από: 02 Δεκ 2003 Βοηθήματα: 4 Νέα: 1 Μηνύματα: 256+ Περιοχή: Stanford, CA
Στις: 23 Ιουλ 2012 23:04 Θέμα:
Βάλε links στις σημαίες προς την σελίδα που θέλεις μαζί με τα ?language=en ή gr.
Μέσα στο php αρχείο χρησιμοποίησε την $_GET για να πάρεις το περιεχόμενο του language:
κώδικας:
<?php
$langs = array('gr','en');
$defaultLang = 'gr';
/* Είναι καλύτερο να φιλτράρεις την $_GET ώστε να μην έχεις θέμα με SQL injection και
τέτοια θέματα */
$language = $_GET['language'];
if(!in_array($language, $langs) {
/* Αν δεν δωθεί σωστό language στο Url φόρτωσε τη default γλώσσα ή δώσε error. */
// ....
} else if($lang == "en") {
// language = en
} else {
// language = 'gr'
// ...
}
?>
_________________ I want to know God’s thoughts; the rest are details.
Albert Einstein
psychokiller
Μέλος από: 23 Ιουλ 2012 Μηνύματα: 3
Στις: 24 Ιουλ 2012 15:29 Θέμα:
xmavidis ευχαριστώ για το ενδιαφέρον και το χρόνο σου.
Μου είναι πολύ δύσκολο να βάλω για κάθε σελίδα το link προορισμού στα σημαιάκια.
Αυτό που θέλω είναι όταν πατάω το π.χ. Ελληνικό σημαιάκι να τρέχει μια διεργασία που θα διαβάζει το URL της σελίδας, θα το βάζει σε μια μεταβλητή, θα προσθέτει στο strink αυτο το ?language=gr και θα τρέχει αυτό το link στο ίδιο παράθυρο.
Και αντίστοιχα στο αγγλικό σημαιάκι να τρέχει μια διεργασία που θα διαβάζει το URL της σελίδας, θα το βάζει σε μια μεταβλητή, θα προσθέτει στο strink αυτο το ?language=en και θα τρέχει αυτό το link στο ίδιο παράθυρο.
xmavidis
Honorary Member Μέλος από: 02 Δεκ 2003 Βοηθήματα: 4 Νέα: 1 Μηνύματα: 256+ Περιοχή: Stanford, CA
Στις: 24 Ιουλ 2012 16:00 Θέμα:
Δοκίμασε το παρακάτω για να πάρεις το πλήρες Url της εκάστοτε σελίδας που βρίσκεται ο χρήστης:
Βάλε αυτό στα links σου και πρόσθεσε σε κάθε περίπτωση το ?language που θέλεις.
Τι μορφή έχουν τα URL της σελίδας σου;
Έχεις και άλλα parameters μετά από ? στο url; Αν ναι τότε πρέπει να προσέξεις αν βάλεις το language μετά από ? ή μετά από &.
Για παράδειγμα, αν το url της σελίδας σου είναι της μορφής:
κώδικας:
http://www.mypage.gr/something.php
Τότε μπορείς απλά να βάλεις ως href στα links των εικόνων:
κώδικας:
href="<?php $url; ?>?language=gr"
Αν έχεις και url της μορφής:
κώδικας:
http://www.mypage.gr/something.php?id=5
Θα πρέπει να τσεκάρεις αν στο url υπάρχει ήδη ο χαρακτήρας ? και να πράξεις αναλόγως.
_________________ I want to know God’s thoughts; the rest are details.
Albert Einstein