Ergebnis 1 bis 7 von 7

Thema: PHP Superglobale $_Post

  1. #1
    gert
    Gast

    Standard PHP Superglobale $_Post

    Hallo zusammen,

    habe folgendes problem:
    wenn ich die Browser Sprache eines Client ermittelt habe und mit $_POST['LANG'] nexten script verwenden will ist sie leer. $lang ist auch leer.

    Da ich nicht in jedem script die Sprache neu ermitteln KANN (Kunde hat eigene Sprache gewäht)
    Müsste ich verstehen wie ich diese Globalen var im nächsten programm verwende.

    Bei funktionsaufruf(lang) und formularen mit Methode(post) geht das klar.

    also:

    include_once ('http_sprache.php');
    $allowed_langs = array ('de', 'en', 'it', 'fr');
    $lang = lang_getfrombrowser ($allowed_langs, 'de', null, false);
    $_POST['LANG'] = $lang ;
    return($lang);

    Ergebnis 'de'

    dann aufruf anderes.php über link.

    Dann
    $_POST['LANG'] = leer
    $lang = leer

    Was mache ich falsch ?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiserliche Hoheit Avatar von No0ob
    Registriert seit
    02.01.2006
    Ort
    Nähe Frankfurt
    Beiträge
    1.500
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Warum speicherst du das in $_POST?
    $_POST wird nur bei Formularen weitergegeben. Stattdessen solltest du es in $_SESSION speichern. So wirst du auch noch auf weiteren Seiten darauf zugreifen können

  3. #3
    Gast

    Standard

    gut, habe ich jetzt in
    $_SESSION['LANG'] = $lang ;

    aber die ist im nächsten script auch leer.
    echo $_SESSION['LANG'];

  4. #4
    Gast

    Standard

    Hallo zusammen,

    habe mich jetzt stundenlang durch diese Themna gequält, aber eine Lösung für mein Problem nicht gefunden.

    Ich generiere über die Sprachauswahl mein Seiten dynamisch aus einer Datenbank.
    Daher brauche ich die echo $_SESSION['LANG']; immer in jedem script.

    Ermitteln der Sprache:
    <?php
    include_once ('http_sprache.php');

    $allowed_langs = array ('de', 'en', 'it', 'fr');

    $lang = lang_getfrombrowser ($allowed_langs, 'en', null, false);
    $_SESSION['LANG'] = $lang ;

    //echo $_SESSION['LANG'];
    // Ausgabe im HTML
    //var_dump ($lang);
    return($lang);

    ?>

    Danach user Registrierung, und hier brauche ich den Wert, ohne den Include nochmal auszuführen, da der User auch im Menue die Sprachauswahl verändern kann und eine andere als die Browser Sprache auswählen, oder seine Stammsprache nach der Registrierung.
    Das heisst $_SESSION['LANG'] wird je nach bedarf verändert.

    Also wie bekomme ich den Wert überall global verfügbar ?
    Register_global = on;

    Dann folgt:
    <?php
    error_reporting(E_ALL);
    //include ("lang_get.php"); // das darf nichtmehr aufgerufen werden.

    //echo $_SESSION['LANG'];
    $lang = $_SESSION['LANG']; //ist immer leer

    print_r($_SESSION); //ist immer leer

    // javacript check input data
    if($lang == 'de') {
    include 'error_de.js';
    }elseif ($lang == 'it') {
    include 'error_it.js';
    }elseif ($lang == 'en') {
    include 'error_en.js';
    }elseif ($lang == 'fr') {
    include 'error_fr.js';
    }
    include 'chkField.js';

    //include the function dbconnect(verbose) function
    include 'connATC.php';
    //include the get_country(lang) function
    include 'country.php';
    ?>

    <body>
    <form name="Registrierung" id="register" onSubmit="return validate(this,var_1)" ACTION="insert_user.php" METHOD="POST">

    <?php {

    $verbose = TRUE;
    $dbconn = dbconnect($verbose);

    $sql_refmask = "SELECT vartxt, varname, substr(vartyp,1,2) as vartyp
    FROM atc.trefmask
    where (lang='$lang' or lang ='al')
    and maske='reguser' order by pos" ;


    $stmt = db2_prepare($dbconn, $sql_refmask);
    $result = db2_execute($stmt);

    if (!$result) {
    die('Ungültige Abfrage: ' . db2_conn_errormsg());
    }

    while ($row = db2_fetch_array($stmt)){
    echo "<tr><th align='left' valign='bottom'>";
    echo "{$row[0]} ";
    echo "</th><td align='left' valign='middle' width='485'>";

    if($row[2]== 'sl') {
    echo "

    {$row[1]} </p> ";
    $country = get_country();
    echo "</select> </td></tr>";
    } elseif ($row[2] == 'tx') {
    echo "

    {$row[1]} </p> </td></tr>";
    } elseif ($row[2] == 'sp') {
    echo "

    {$row[1]} </p> ";
    $province = get_province($lang);
    echo "</select></td></tr>";
    } elseif ($row[2] == 'se') {
    echo "

    {$row[1]} </p> ";
    echo "</select> </td></tr>";
    } else {
    echo "

    {$row[1]} </p> </td></tr>";
    }
    }
    }
    ?>

  5. #5
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    solltest du nicht eigentlich ne fehlermeldung bekommen ? 0o

    startest schliesslich die session nicht...


    also:

    <?php
    session_start();
    require_once("...");
    $_SESSION['lang'] = $lang;
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  6. #6
    gert
    Gast

    Standard $_SESSION['LANG'];

    Hallo ,

    das habe ich gemacht,
    jedoch schon beim ermitteln der Browsersprache

    include '/sites/lang_get.php';
    ist $_SESSION['LANG'];

    ist der wert nichtmehr verfügbar.

  7. #7
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    hat $lang überhaupt nen wert ?
    und poste mal den relevanten quelltext ohne js und überprüfung und ausgabe
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

Ähnliche Themen

  1. Schwierigkeiten bei INSERT mit $_POST['saison'] --array
    Von Agnes im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 13.10.2007, 12:27
  2. Problem bei $_POST
    Von micha75 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 12.07.2007, 17:16
  3. $_post ist nach übergabe an PHP DB Insert leer?
    Von gert im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 06.05.2007, 10:19
  4. $_POST['xy'] in $v_xy überleiten...
    Von hanserle im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 23.02.2007, 12:24
  5. mysql_escape_string bei $_POST[] ?
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 06.01.2007, 01:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •