29. marts 2004 - 01:15Der er
25 kommentarer og 1 løsning
hvordan finder jeg variablen
Hej
Er kold på dette:
Jeg har følgende i toppen af alle mine sider som fortæller hvilket sprog brugeren har valgt. Jeg er nu ved at bikse noget tabel sammen som indeholder diverse fraser på hvert enkelt sprog og derfor har jeg brug for at vide hvilket sprog der er valgt - men jeg kan ikke finde ud af hvilken variable jeg skal bruge og hvordan syntaksen skal se ud i min SQL sætning??????
Her er startkoden på alle mine sider: <?php session_start(); if ($_GET["lingo"]) { $_SESSION["menu_lang"] = $_GET["lingo"]; }; ?>
her ønsker jeg så at hente fra den kolonne som svare til det valgte sprog - eks. DK eller US:
$sql = "SELECT - HER SKAL VARIABLEN VÆRE - FROM lang WHERE text-id=1";
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Men jeg tror at problemet er at variablerne er tomme - så det jeg ´lige skal bruge hjælp til er min kode i starten - altså jeg skal tjekke på om $_SESSION["menu_lang"] er tom og hvis den er så skal den sættes til en default værdi eks. DK
og lige - tabelen er oprette med en kolonne med text-id - en kolonne for hvert sprog
<?php session_start(); if ($_GET["lingo"]) { $_SESSION["menu_lang"] = $_GET["lingo"]; }; ?>
men jeg har lige fundet ud af at den ikke sætter en standard værdi - altså vil jeg tjekke på om $_GET["lingo"]; er tom og hvis den er så skal sættes til DK f.eks.
Jeg tror ikke databasen er problemet men at variablen er tom....
eller, hvis du har et array med de forskellige valgmuligheder: <?php $langs = array("dk", "us", "de"); if(isset($_GET["lingo"]) && in_array($_GET["lingo"], $langs)) { $var = $_GET["lingo"]; }else{ $var = "dk"; } ?>
Bør jeg bruge session_register et eller andet sted i koden?
...(dette er lidt pineligt) koden er noget jeg har sat ind for meget længe siden - og jeg kan ikke helt selv gennemskue den - kunne du måske lige kort forklaret - altså er der eneligt en grund til både lingo og menu_lang - kunne jeg ikke bare have en variabel f.eks. sprog...?
Jeg er absolut grøn i dette med session - og jeg vil så gerne forstå ;O)
Nej, 'session_register' var noget man brugte i gamle opsætninger af PHP. Bruger du $_GET, $_POST og $_SESSION, har du ikke brug for den.
Jo, på en enkelt side kan du godt bruge en variabel - men skal du bruge sprog-oplysninger fra side til side, er det meget smart at have det liggende i en session-variabel. Så behøver du ikke bekymre dig om at skulle sende variablen med, når du skifter side. Er session-variablen sat én gang, følger den brugeren (så længe din session er sat til at vare) og kan trækkes ud på efterfølgende sider med:
Nå jeg tror sq jeg fik det til at virke... tror også jeg har forstået noget..
Altså lingo lever kun fra jeg sætter den til jeg loader siden igen - så er den væk - derfor tildeles menu_lang værdien da denne lever i på alle sider hvor session_start er sat - er det rigtigt???
hvis jeg så senere på siden skal finde ud af hvilket sprog der valgt - og udfra dette hente fra min database så gør jeg hvordan (tilbage til starten af spørgsmålet)
Altså min tabel er opdelt i 4 kolonner:
Text-id | US teskt | DK tekst | DE tekst | | | | | 1 | US lang. | Dansk tekst | Deutshe tekst |
Så skal min sql se ud hvordan?
SELECT $_SESSION["menu_lang"] FROM lang ????????? (også gerne svar med rigtig syntax)
jeg vil ud fra det valgte sprog (menu_lang) hente en tekst-streng i min database fra den kolonne som svare til sproget .... var det mere forståeligt - dette for at undgå at have en masse kode i på mine sider.... det kan da godt være det er en dum måde men jeg er da åben for andre forslag....
Nå ikke flere ... så kan jeg næsten regne ud, du ikke har 'jysk', 'fynsk' og 'sjofelt' med ;o)
Jeg ville nok have en bruger-tabel med mange forskellige oplysninger - herunder et sprog-ID. Det ville jeg så bruge til at includere en af mange sprog-filer med et associativt array med ordene i ... à la:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.