Multilanguage problem

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

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

Απάντηση
dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multilanguage problem

Δημοσίευση από dtravlos » 09 Σεπ 2010 11:22

Καλημέρα σε όλους! Μπορεί κάποιος να με βοηθήσει στο πώς θα περνάω την παράμετρο πχ ?lang=en στο τέλος κάθε αρχείου? Τώρα όταν πατάω το σημαιάκι με τα αγγλικά πχ απλά μου το γυρνάει στα αγγλικά ενώ η σελίδα παραμένει σαν index.php Και όχι index.php?lang=en. Σας παραθέτω και τον κώδικα
menu_en.php

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

<form action="includes/changelang.php" method="post" enctype="multipart/form-data" name="changelang" style="float&#58; right;">
	<input type="hidden" name="page" value="<?php echo $_SERVER&#91;"REQUEST_URI"&#93; ?>" />
	<?php if &#40;$_SESSION&#91;'lang'&#93; =="en"&#41;
				&#123;
	?>
	<input name="ru" type="submit" style="background&#58; url&#40;images/ru.png&#41; no-repeat 0 0; width&#58; 22px; height&#58;16px; border&#58; none;" value="&nbsp;&nbsp;" /><input type="hidden" name="language" value="ru" />
	<?php &#125; else &#123; ?>
		<input name="en" type="submit" style="background&#58; url&#40;images/en.jpg&#41; no-repeat 0 0; width&#58; 22px; height&#58;16px; border&#58; none;" value="&nbsp;&nbsp;" /><input type="hidden" name="language" value="en" />
		<?php &#125; ?>
</form>
changelang.php

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

<?php
	session_start&#40;&#41;;
	$_SESSION&#91;'lang'&#93;  = $language;
	echo "<meta http-equiv='refresh' content='0;URL=$page' />";
?>
Και αυτό το έχω σε όλες τις σελίδες:

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

session_start&#40;&#41;;
	if&#40;$_SESSION&#91;'lang'&#93; == ""&#41;
	&#123;
		$lang = "en";
	&#125;
	else
	&#123;
		$lang = $_SESSION&#91;'lang'&#93;;
	&#125;
Thaaaaaaanks!!!! :pint: :pint:

sxsweb
Δημοσιεύσεις: 33
Εγγραφή: 14 Δεκ 2009 16:24

Multilanguage problem

Δημοσίευση από sxsweb » 09 Σεπ 2010 13:17

Στο changelang.php άλλαξε αυτό

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

echo '<meta http-equiv="refresh" content="0;URL='.$page.'?lang='.$language.'" />';

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multilanguage problem

Δημοσίευση από dtravlos » 09 Σεπ 2010 13:23

Ok! Ευχαριστώ πάρα πολύ! Απλό αλλά που να το δώ.... Έχω φάει κάτι φρίκες!! :pint: :pint: :pint: :pint:

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multilanguage problem

Δημοσίευση από dtravlos » 09 Σεπ 2010 13:25

Δε λειτουργεί σωστά.... Όταν κάνω εναλλαγές στη γλώσσα και τα αρχεία το παίρνει διπλό

sxsweb
Δημοσιεύσεις: 33
Εγγραφή: 14 Δεκ 2009 16:24

Multilanguage problem

Δημοσίευση από sxsweb » 09 Σεπ 2010 14:56

Στους υπόλοιπους συνδέσμους που αλλάζουν την γλώσσα και εμφανίζεται 2 φορές
το αντίστοιχο get κατα πάσα πιθανότητα παίρνεις το url και τους προσθέτεις με get την αλλαγή γλώσσας. Το url έχει ήδη το get της γλώσσας.

Ίσως θα ήταν καλύτερα να πάρνεις μόνο το filename με
$_SERVER['SCRIPT_FILENAME'].

Εναλλακτικά μπορείς να κάνεις το redirect μέσω της header()
gr.php.net/manual/en/function.header.php και όχι με meta tag.

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Multilanguage problem

Δημοσίευση από dtravlos » 09 Σεπ 2010 14:57

Σ ευχαριστώ πολύ!

Απάντηση

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

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

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