Avatar billede michael_stim Ekspert
10. juni 2004 - 10:18 Der er 9 kommentarer og
1 løsning

Session_var fra link.

Jeg vil gerne have at bruger kan välge mellem 3 sprog på min side. Når han så trykker på et link skal en vis session startes, how to do?

Hovedsiden hvor man trykker på linket:

<?
session_start();
if (OBS.link1_pushed=="english")
{
    $_session['lang']="english";
}
if (OBS.link2_pushed=="swedish")
{
    $_session['lang']="swedish";
}
if (isset(OBS.link3_pushed=="danish"))
{
    $_session['lang']="danish";
}
?>

Linksene:
<a href="cv.php"><img src="bilder/swedish.jpg" width="20" height="12" border="0"></a>
<a href="cv.php"><img src="bilder/english.jpg" width="20" height="12" border="0"></a>
<a href="cv.php"><img src="bilder/danish.jpg" width="20" height="12" border="0"></a></td>

Framesiden:
<?
    session_start();
    require_once('admin/open_connection.php');
    if($_session['lang']=="danish")
    {
        $query="SELECT * FROM cv" or die(mysql_error());
    }

    else if($_session['lang']=="swedish")
    {
            $query="SELECT * FROM Scv" or die(mysql_error());
    }

    else if($_session['lang']=="english")
    {
            $query="SELECT * FROM Ecv" or die(mysql_error());
    }

    else
    {
        $query="SELECT * FROM cv" or die(mysql_error());
    }
    $result=mysql_query($query,$länk);
?>
Avatar billede sone Nybegynder
10. juni 2004 - 10:22 #1
Du er på rette spor... hvad er problemet?
Avatar billede sone Nybegynder
10. juni 2004 - 10:23 #2
Du kunne lave dine links om, så de tager et sprog med:
  cv.php?lang=danish
osv.
Avatar billede michael_stim Ekspert
10. juni 2004 - 10:25 #3
If satserne skal reagere på hvilket link der er trykket på. Og jeg vil ikke have noget stående i adressefeltet.
Avatar billede michael_stim Ekspert
10. juni 2004 - 11:58 #4
Ingen der kan hjælpe mig her?
Avatar billede sone Nybegynder
10. juni 2004 - 12:40 #5
For at blive fri for at slæbe noget på noget i URL'erne (men bruge Sessions i stedet), så skal du jo én gang have noget at sætte din Session efter... og det kan du gøre ved at sætte en URL parameter én gang, eller sætte dine billeder til at være FORM images, så du kan få en POST ind som du kan aflæse.
Avatar billede michael_stim Ekspert
10. juni 2004 - 12:52 #6
det har jeg prøvet.
<form action="cv.php" name="sprog" method="post">
<a href="cv.php" name="danish"><img src="bilder/danish.jpg" width="20" height="12" border="0"></a>
<a href="cv.php" name="swedish"><img src="bilder/swedish.jpg" width="20" height="12" border="0"></a>
<a href="cv.php" name="english"><img src="bilder/english.jpg" width="20" height="12" border="0"></a></td>
</form>

<?
session_start();
if (isset($_POST["english"]))
{
    $_SESSION['lang']="english";
    echo $_SESSION['lang'];
}
if (isset($_POST["swedish"]))
{
    $_SESSION['lang']="swedish";
    echo $_SESSION['lang'];
}
if (isset($_POST["danish"]))
{
    $_SESSION['lang']="danish";
    echo $_SESSION['lang'];
}
?>

Men den skriver ikke noget ud.
Avatar billede michael_stim Ekspert
10. juni 2004 - 13:53 #7
OK, nu har jeg prövet dette men den fanger stadig ikke sessionvariabelen:

<?
session_start();
if (isset($_POST['english']))
{
    $_SESSION['lang']='english';
    echo $_SESSION['lang'];
}
if (isset($_POST['swedish']))
{
    $_SESSION['lang']='swedish';
    echo $_SESSION['lang'];
}
if (isset($_POST['danish']))
{
    $_SESSION['lang']='danish';
    echo $_SESSION['lang'];
}
?>

<form action="cv.php" name="sprog" method="post">
<input type="image" name="danish" src="bilder/danish.jpg" width="20" height="12" border="0">
<input type="image" name="swedish" src="bilder/swedish.jpg" width="20" height="12" border="0">
<input type="image" name="english" src="bilder/english.jpg" width="20" height="12" border="0"></td>

Og så fange dem på näste side:
<?
    session_start();
    require_once('admin/open_connection.php');
    if(isset($_session['lang']) && $_SESSION['lang']=="danish")
    {
        $query="SELECT * FROM cv" or die(mysql_error());
    }

    else if(isset($_session['lang']) && $_SESSION['lang']=="swedish")
    {
            $query="SELECT * FROM Scv" or die(mysql_error());
    }

    else if(isset($_session['lang']) && $_SESSION['lang']=="english")
    {
            $query="SELECT * FROM Ecv" or die(mysql_error());
    }

    else
    {
        $query="SELECT * FROM cv" or die(mysql_error());
    }
    $result=mysql_query($query,$länk);
?>
                      </form>
Avatar billede xyborx Nybegynder
10. juni 2004 - 13:55 #8
Det er fordi form'en ikke bliver submittet. Måske noget i retning af

<form action="cv.php" name="sprog" method="post">
<input type="image" name="danish" src="bilder/danish.jpg" width="20" height="12" border="0">
<input type="image" name="swedish" src="bilder/swedish.jpg" width="20" height="12" border="0">
<input type="image" name="english" src="bilder/english.jpg" width="20" height="12" border="0"></td>
</form>

Men jeg har nu aldrig eksperimenteret med <input type="image"..>, så jeg har måske ikke fået det helt rigtigt :)
Avatar billede xyborx Nybegynder
10. juni 2004 - 13:55 #9
Nå, der var jeg lidt for langsom.. :o)
Avatar billede michael_stim Ekspert
10. juni 2004 - 14:12 #10
OK opretter et nyt spörgsmål, det er fordi den aldrig kommer ind i if-satsen, der ikke sker noget.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester