php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.03.2010, 18:37  
Neuer Benutzer
 
Registriert seit: 01.03.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
ameisenberg befindet sich auf einem aufstrebenden Ast
Standard Variable aus includierter Funktion kommt nicht an

Hallo PHPler!

Erst einmal HALLO! Mein erstes Posting hier
Habe mich etwas durch die Suche gequält, aber nichts gefunden, dass meine Frage(n) beantworten könnte - sorry!

Die Idee:
Auf allen Seiten wird Datei "includes/functions.inc.php" includiert.
U.a. befindet sich in dieser Funktionssammlung eine Funktion, die ermitteln soll, ob a) in $_POST oder bereits in b) $_SESSION der Wert 'lang' vorhanden ist. Wenn ja, dann soll der hinterlegte Wert in Variable $lang abgelegt werden - ist nichts hinterlegt soll Wert "de-DE" in $lang hinterlegt werden. Dann soll diese Variable zurück zur Hauptseite (die mit dem include...) zurückgegeben werden, damit im nächsten Schritt ein Sprachfile includiert werden kann, der im Ordner languages/$lang[also z.B. de-DE]/datei.php hinterlegt ist.
Ich hoffe ihr kommt noch mit... Ich schreibe manchmal etwas wirr

Problem:
Der Wert für die Variable $lang bzw. die gesamte Variable $lang kommt nicht an bzw. ist leer...

Dateien:
content.php
PHP-Code:
<?php
    session_start
();
    if(!
$_SESSION['user']) $_SESSION['user'] = "guest";
    include 
"config.php";
    include 
"includes/functions.inc.php";
    
getLang($lang); //Funktionsaufruf mit Übergabe $lang
    
include $languagePath.$lang."/install.php"//Einbindung Languagefile ($languagePath kommt aus der config.php)
 
?>
includes/functions.inc.php
PHP-Code:
...
//Sprache auslesen
function getLang($lang) {
    if (isset(
$_POST['lang'])) { 
        
$lang $_POST['lang'];
        
$_POST['lang'] = $_SESSION['lang'];
         }    
        elseif    (isset(
$_SESSION['lang'])) {
        
$lang $_SESSION['lang']; }
    else {
        
$lang "de-DE";
        }
    return 
$lang;
}
... 
Fehlermeldung:
Code:
Warning: include(S:/LOCALHOST/xampp/htdocs/abcms/language//install.php) [function.include]: failed to open stream: No such file or directory in S:\LOCALHOST\xampp\htdocs\abcms\index.php  on line 7

Warning: include() [function.include]: Failed opening 'S:/LOCALHOST/xampp/htdocs/abcms/language//install.php' for inclusion (include_path='.;S:\LOCALHOST\xampp\php\PEAR') in S:\LOCALHOST\xampp\htdocs\abcms\index.php on line 7
Meine bisherige Analyse / Lösungsansätze:
$lang bleibt leer...

Ich habe versucht $lang zu zu Beginn der Funktion getLang() globalisieren
PHP-Code:
gloabal $lang
Ergebnis: Fehlanzeige

Wie kann ich noch an die Problematik rangehen?

VIELEN DANK
Andreas
ameisenberg ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.03.2010, 19:01  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 386
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Kannst du mal bitte deinen gesamten Code von functions.inc.php, oder besser gefragt, hast du irgendwo $lang=""; vor der Funktion getLang() geschrieben.
Brauchst du vielleicht auch in content.php auch ein global $lang; ?
Wieso nutzt du nicht den return-Wert von getLang(), oder schreibst $lang= getLang()?
ChrisvA ist offline  
Alt 01.03.2010, 19:04  
Erfahrener Benutzer
 
Benutzerbild von TAZweb
 
Registriert seit: 14.07.2008
Beiträge: 147
PHP-Kenntnisse:
Fortgeschritten
TAZweb befindet sich auf einem aufstrebenden Ast
TAZweb eine Nachricht über AIM schicken TAZweb eine Nachricht über MSN schicken TAZweb eine Nachricht über Yahoo! schicken TAZweb eine Nachricht über Skype™ schicken
Standard

Hallo ab

Du übergibst Deiner Funktion zumindest schon mal eine Variable, die Du vorher noch nirgends einen Wert zugeteilt hast. $lang exestiert somit erstmal gar nicht.

Dann erschließt sich mir folgendes nicht:
PHP-Code:
$_POST['lang'] = $_SESSION['lang']; 
Du überprüfst, ob _POST[lang] vorhanden ist (ob mit Inhalt oder ohne). Weißt dann einer gleichlautenden Variable $lang Diesen Wert zu und im nächsten Moment soll _POST[lang] den gleichen Inhalt haben wie _SESSION[lang]

Schreib in Deine Funktion getlang doch in jeden Abschnitt eine Ausgabe der vorhandenen Variablen rein, um zu schauen welche Inhalt hat, wohin Dich Deine Funktion führt und wo Irgendwas nicht ankommt. Mittels
PHP-Code:
echo $_POST['lang']; 
wirst Du wohl irgendwo eine Ausgabe bekommen. Ganz oben in deiner index.php oder content.php schaltest Du bitte unter anderem noch error_reporting(E_ALL); an, um mögliche ausgeblendete Fehler sichtbar zu machen!
__________________

TAZweb ist offline  
Alt 01.03.2010, 20:03  
Erfahrener Benutzer
 
Registriert seit: 26.10.2009
Beiträge: 425
PHP-Kenntnisse:
Fortgeschritten
Yoshi- befindet sich auf einem aufstrebenden Ast
Standard

Wie wärst damit den return wert auch irgendwo zuspeichern?
Yoshi- ist offline  
Alt 01.03.2010, 20:03  
Neuer Benutzer
 
Registriert seit: 01.03.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
ameisenberg befindet sich auf einem aufstrebenden Ast
Standard

@ChrisvA
Erst einmal vorab: Es handelt sich noch um ein in Entstehung bestehendes Scriptwerk - alles noch halb und halb - leider nichts Ganzes...

Ich habe bereits ein "Installations-Script" erstellt, indem ein Dropdown-Feld mit JavaScript-update [POST-Formular] der Seite existiert, welches erst via PHP die vorhandenen Sprachflie-Ordner ausliest und dann in die <option> packt. DAHER käme dann der 'lang'-Wert ins Post

Hier das Dropdown:
PHP-Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="language">
            <div>
            <?php echo $spache?>
            <select name="lang" onchange="document.getElementById('language').submit()">
                <?php
                $serverPath        
=    $_SERVER['DOCUMENT_ROOT'];      // wwwroot-Ordner
                
$folderPath        =     "/abcms/";                 // Ordner unterhalb des wwwroot zur Installation von ABCms
                
$langPath        =     $serverPath.$folderPath."language/";      // der gesamte Pfad
                
                
$dir = new DirectoryIterator($langPath);
                while(
$dir->valid()) {
                   if(!
$dir->isDot()) {
                           
$langName $dir->current();
                       print 
"\t\t".'<option value="'.$langName.'" ';
                               if (
$_POST['lang']=="$langName") print 'selected="selected"';
                       print 
">$langName</option>\n";
                   }
                   
$dir->next();
                }
                 
?>
            </select>
            </div>
        </form>
Im Moment fehlt auf der "content.php"-Seite noch ein entsprechender Code. Geplant ist, die Information a) ohne Anmeldung an der Seite wieder via o.a. Dropdown zu realisieren bzw. b) nach Anmeldung aus dem Userprofil der MySQL-Datenbank zu holen. Daher im Moment noch die letzte else-Bedingung auf "de-DE".

Nichts destotrotz hier mal die gesamte functions.inc.php:
PHP-Code:
<?php
//Infos zur Weitergabe, solange System noch nicht einsatzbereit
    
    
$date        =    date(Ymd);
    
$logpath    =    "logs/";
    
$logname    =    "$date errorlog.txt";
    
$logfile    =    fopen($logpath.$logname,"a+");
    
/*=====================================================================================================================================    
=====================================================================================================================================*/


/******************************************************

    I N S T A L L A T I O N S P R Ü F U N G

******************************************************/

//Prüfung ob Installationsordner vorhanden => wenn ja, Warnung, wenn nein
if (file_exists('install/index.html'))    {
    
//Error-Text festlegen
    
$error     .=     '<h1>WARNUNG!</h1>'.
                    
'<p>Der Installationsordner ist noch vorhanden!</p>'.
                    
'<p>Um anderen keinen Zugriff auf Ihr System zu gew&auml;hren, '.
                    
'l&ouml;schen Sie diesen bitte umgehend von Ihrem System oder '.
                    
'nennen Sie ihn um!</p>'."\n\t\t".'<p>Oder &raquo; '.
                    
'<a href="install/index.php" title="Install">Installation starten</a></p>';
    
//Log-Eintrag definieren
    
$log    .=        date("H:i:s")."\t".$_SESSION['user']."\t".
                    
"folder"."install"."\t"."still existing"."\n";


//Infos und/oder Fehler anzeigen
function showInfo($sysmsg$info$error) {

    
//Prüfung ob Installation vorgenommen wurde => config.php vorhanden
    
if (file_exists('config.php')) { 
        
        
//wenn config.php vorhanden $info definieren
        
$info     .=         '<h1>HINWEIS:</h1>'.
                        
'<p>Datei <em>config.php</em> existiert und gibt vor:</p>';
        
        
        
//Info ob Logging in config.php aktiviert wurde        
        
if ($logging == true) { 
            
$info .= '<p>- Error-Log ist <strong>aktiviert</strong>.</p>';
            } 
        else {
            
$info .= '<p>- <span style="color:red;">Error-Log ist abgeschaltet.</span></p>';
        }
    }
                    
    
// config.php wurde nicht gefunden => keine Installation durchgeführt                        
     
else { 
    
        
//Logging einschalten
        
$logging true
        
        
//Warnhinweis definieren
        
$error     .=         '<h1>ACHTUNG:</h1>'
                        
'<p>Datei <em>config.php</em> konnte nicht gefunden werden.</p>'.
                        
'<p><strong>M&ouml;gliche Ursachen:</strong></p>'.
                        
'<ul><li>Die Datei wurde gel&ouml;scht oder besch&auml;digt.</li>'.
                        
'<li>Installation wurde nicht oder nicht korrekt abgeschlossen.<br />'.
                        
'(&nbsp;Ist das Verzeichnis beschreibbar [CHMOD 777]?&nbsp;)</li>'.
                        
'</ul><p><br /><strong>L&ouml;sungsvorschlag:</strong><br />'.
                        
'Bitte f&uuml;hren Sie die Installation (erneut) aus &raquo; '.
                        
'<a href="install/index.php" title="Install">Installation starten</a><br />'.
                        
'Oder kontrollieren Sie die Einstellungen im &raquo; '.
                        
'<a href="administration/index.php" title="Installation">Adminbereich</a></p>';
                        
        
//Log-Text-definieren                
        
$log    .=        date("H:i:s")."\t".$_SESSION['user']."\t".  //Datum und User sammeln
                        
"file"."\t"."config.php"."\t"."not existing"."\n";    //Existenz config.php sammeln
                        
$pagetitle     =     "ABCms 4 you"//Seitentitel sammeln
                        
$version    =    "v0.1";    //Version sammeln
                        
$template     =     "standard";    //Template sammeln                                            



    //Info UND Error anzeigen, falls definiert
    
if ((isset($error)) && (isset($info))) {
        
$sysmsg        =    "\n\t\t".'<div id="info">'//Info-Div öffnen
        
$sysmsg        .=    wordwrap ($info90"\n\t\t\t"); //Infotext auf 90 Zeichen begrenzen
        
$sysmsg        .=    "\n\t\t".'</div>'."\n\t"//Info-Div schließen
        
$sysmsg        .=    "\n\t\t".'<div id="error">'//Error-Div öffnen
        
$sysmsg        .=    wordwrap ($error90"\n\t\t\t"); //Errortext auf 90 Zeichen begrenzem
        
$sysmsg        .=    "\n\t\t".'</div>'."\n\t"//Error-Div schließen
        
echo $sysmsg;    //Info und Error ausgeben

        //LOG schreiben wenn aktiviert
        
if ($logging == true) {
            
$date        =    date("Y.m.d"); //Datum definieren
            
$logfile    =    fopen($logpath.$logname"a+"); //Logdatei öffnen
            
fputs ($logfile$log); //Log-Text schreiben
            
fclose ($logfile); //Logfile schließen
        
}
    }        
    
    
//Nur Error anzeigen, falls definiert
    
elseif (isset($error)) {     
        
$sysmsg        =    "\n\t\t".'<div class="error">'//Error-Div öffnen
        
$sysmsg        .=    wordwrap($error90"\n\t\t\t"); //Error-Text auf 90 Zeichen begrenzem
        
$sysmsg        .=    "\n\t\t".'</div>'."\n\t"//Error-Div schließen
        
echo $sysmsg//Error ausgeben

        //LOG schreiben wenn aktiviert
        
if ($logging == true) {
            
$date        =    date("Y.m.d"); //Datum definieren
            
$logfile    =    fopen($logpath.$logname"a+"); //Logdatei öffnen
            
fputs ($logfile$log); //Log-Text schreiben
            
fclose ($logfile); //Logdatei schließen
        
}
    }
    
    
//Nur Info anzeigen, falls deifiniert
    
elseif (isset($sysinfo)) {
        
$sysmsg        =    "\n\t\t".'<div class="info">'//Info-Div öffnen
        
$sysmsg        .=    wordwrap($info90"\n\t\t\t");  //Info-Text auf 90 Zeichen begrenzem
        
$sysmsg        .=    "\n\t\t".'</div>'."\n\t";  //Info-Div schließen
        
echo $sysmsg//Info ausgeben
        
        //LOG schreiben wenn aktiviert
            
if ($logging == true) {
            
$date        =    date("Y.m.d"); //Datum definieren
            
$logfile    =    fopen($logpath.$logname"a+"); //Logdatei öffnen
            
fputs ($logfile$log); //Log-Text schreiben
            
fclose ($logfile); //Logdatei schließen
        
}
    }
    
    
//Wenn keine Info oder Fehler vorhanden
    
else {
        unset(
$error); //Error-Variable löschen
        
unset($info); //Info-Variable löschen
    
}
}
}
//=====================================================================================================================================

/******************************************************

            C O N T E N T A N Z E I G E

******************************************************/


//TEMPLATE LADEN
if(isset($template)) { include "template/$template/info.php"; } //Wenn $template definiert, Template includieren
else { 
    if(isset(
$templateStd)) {  $template $templateSTD; } //Wenn kein $template , Standard-Template $templateSTD laden
    
else { $template "standard"; } //wenn auch kein $templateSTD, standard-Template laden 
    
}

    
//COPYRIGHTVERMERK PRÜFEN
    
$chkmyrights file_get_contents("template/$template/footer.tpl"); //footer laden
    
$pos strpos($chkmyrights'<a href="http://www.ameisenberg.com" title="ameisenberg.com" onclick="window.opem(this.href);">ameisenberg.com</a>'); //nachschauen ob die Links vorhanden sind
    
if ($pos === falseheader('Location: template/standard/index.php'); //wenn nicht vorhanden, zur Warnseite headern

//Sprache auslesen
function getLang($lang) {
    if (isset(
$_POST['lang'])) { 
            
$lang $_POST['lang'];
            
$_POST['lang'] = $_SESSION['lang'];
         }    elseif    (isset(
$_SESSION['lang'])) {
        
$lang $_SESSION['lang']; }
        else {
            
$lang "de-DE";
        }
    return 
$lang;
}

// Seitenkopf anzeigen
function showHtmlHead($pagetitle$template) { //Standard-HTML-Head erzeigen
    
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
    echo 
"\n".'<html xmlns="http://www.w3.org/1999/xhtml">';
    echo 
"\n<head>";
    echo 
"\n".'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
    echo 
"\n<title>".$pagetitle."</title>\n"//Seitentitel in title
    
if (!$template$template "standard";  //wenn kein template, template = standard
    
echo '<link href="template/'.$template.'/css/layout.css" rel="stylesheet" type="text/css" />'//template-CSS laden
    
echo "\n</head>";
    echo 
"\n<body>\n";
    echo 
"\n<!-- SEITENBEGINN !-->\n";    
}

//Seitenfuß anzeigen
function showHtmlEnd() {
    echo 
"</body>\n</html>"//Standard-HTML-Seitenende
}

?>
Leider habe ich irgendwie nicht verstanden, was Du mit "Brauchst du vielleicht auch in content.php auch ein global $lang; ?" meinst - evt. dort auch nochmal definieren?

Desweiteren:
Ich dachte durch die Übergabe von $lang im Funktionsaufruf
PHP-Code:
getLang($lang); 
in Zusammenarbeit mit der Anweisung
PHP-Code:
return $lang
würde mir schon den Variable-Wert zurückgeben...

@TAZweb:
Soweit ich mein "Handbuch" hier verstanden habe (es reißt das Thema "Variablen in PHP" innerhalb von 2 Seiten nur an...) muss, um einen return-Wert aus einer Funktion zu erhalten, diese Variable beim Funktionsaufruf übergeben werden... (siehe "Desweiteren" bei @CrisvA).

Was das
PHP-Code:
$_POST['lang'] = $_SESSION['lang']; 
da bewirken soll, da zweifle ich gerade an mir selbst Es war am Samstag Abend schon spät, glaube ich... Ich habe irgendwie vorgehabt, nachdem 'lang' via $_POST ermittelt wurde, den Wert in der Session zu verankern... *koppkratz*

Via echo habe ich schon versucht eine Ausgabe hinzubekommen, aber die Ausgabe blieb (egal wo gesetzt) Leer.

Dafür habe ich mal die gesamte Error-Ausbeute aktiviert. Das Ergebnis:
PHP-Code:
Warningsession_start() [function.session-start]: Cannot send session cache limiter headers already sent (output started at S:LOCALHOSTxampphtdocsabcmsindex.php:1in S:LOCALHOSTxampphtdocsabcmsindex.php  on line 2

Notice
: Use of undefined constant Ymd assumed 'Ymd' in S:LOCALHOSTxampphtdocsabcmsincludesfunctions.inc.php on line 4

Notice
Undefined variableerror in S:LOCALHOSTxampphtdocsabcmsincludesfunctions.inc.php on line 27

Notice
Undefined variablelog in S:LOCALHOSTxampphtdocsabcmsincludesfunctions.inc.php on line 30

Notice
Undefined variablelang in S:LOCALHOSTxampphtdocsabcmsindex.php on line 7

Notice
Undefined variablelang in S:LOCALHOSTxampphtdocsabcmsindex.php on line 8

Warning
: include(S:/LOCALHOST/xampp/htdocs/abcms/language//install.php) [function.include]: failed to open stream: No such file or directory in S:\LOCALHOST\xampp\htdocs\abcms\index.php on line 8

Warning: include() [function.include]: Failed opening 'S:/LOCALHOST/xampp/htdocs/abcms/language//install.php' for inclusion (include_path='.;S:\LOCALHOST\xampp\php\PEAR'in S:LOCALHOSTxampphtdocsabcmsindex.php on line 8 
Undefinierte Variable also - hmmm... (Und noch einige andere Fehler... oh wei...)

Ich hoffe Euch beiden nun etwas mehr "Angriffsfläche" für mein Problem geliefert zu haben...

DANKE SCHON EINMAL FÜR EURE MÜHEN!

Geändert von ameisenberg (01.03.2010 um 20:04 Uhr). Grund: Lesbarkeit verbessert :)
ameisenberg ist offline  
Alt 02.03.2010, 08:05  
Erfahrener Benutzer
 
Benutzerbild von TAZweb
 
Registriert seit: 14.07.2008
Beiträge: 147
PHP-Kenntnisse:
Fortgeschritten
TAZweb befindet sich auf einem aufstrebenden Ast
TAZweb eine Nachricht über AIM schicken TAZweb eine Nachricht über MSN schicken TAZweb eine Nachricht über Yahoo! schicken TAZweb eine Nachricht über Skype™ schicken
Standard

Morgen... klar, Idee ist auch, $lang=funktiongetlang... Aber anscheinend kommt der Inhalt von POST[lang] ja gar nicht so weit.

Prüfe ob die Variable überhaupt übergeben wurde, an die Funktion (Gott, Grammatik am Morgen).

Wieder erwarten musst Du Dich dann nocheinmal zum Start der _POST begeben und schauen ob überhaupt eine Variable gesetzt wird. Wie Du selbst sagtest, müsste der Fehler daran liegen, dass _POST[lang] leer ist.



Zitat:
Notice: Undefined variable: lang in S:LOCALHOSTxampphtdocsabcmsindex.php on line 7

Notice
: Undefined variable: lang in S:LOCALHOSTxampphtdocsabcmsindex.php on line 8
Wie gestern gesagt: $lang ist noch gar nicht existent, wenn Du Sie an den Start schickst, kannst Ihr ja entweder schon ein Standardwert zuweisen oder mit leerer Zeichenkette füllen.
__________________


Geändert von TAZweb (02.03.2010 um 08:25 Uhr). Grund: War ne dumheit ne globale variable zu globalisieren
TAZweb ist offline  
Alt 02.03.2010, 08:16  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.166
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von TAZweb Beitrag anzeigen
PHP-Code:
global $_POST
Du willst eine globale Variable noch globaler machen?
__________________
Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)
dennis81 ist gerade online  
Alt 02.03.2010, 08:25  
Erfahrener Benutzer
 
Benutzerbild von TAZweb
 
Registriert seit: 14.07.2008
Beiträge: 147
PHP-Kenntnisse:
Fortgeschritten
TAZweb befindet sich auf einem aufstrebenden Ast
TAZweb eine Nachricht über AIM schicken TAZweb eine Nachricht über MSN schicken TAZweb eine Nachricht über Yahoo! schicken TAZweb eine Nachricht über Skype™ schicken
Standard

^^ Ich weiß, ist dumm... ich konnte einmal einfach nicht direkt in der Funktion einen einfachen Buchstaben aus dem query_string lesen. _get wurde einfach völlig ignoriert. Daher die dumme idee.
__________________


Geändert von TAZweb (02.03.2010 um 08:26 Uhr). Grund: geändert...
TAZweb ist offline  
Alt 03.03.2010, 17:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

PHP-Code:
function getLang($lang) {
    if (isset(
$_POST['lang'])) { 
        
$lang $_POST['lang'];
        
$_SESSION['lang'] = $_POST['lang']; // !!
        
}    
    elseif (isset(
$_SESSION['lang'])) {
        
$lang $_SESSION['lang']; 
        }
    else {
        
$lang "de-DE";
        }
    return 
$lang;

__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 03.03.2010, 18:40  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Die Variable $lang in includes/functions.inc.php ist Funktions-lokal, d.h. sie existiert nur im Gültigkeitsbereich der Funktion die sie deklariert.

Übrigens eine sehr unorthodoxe Methode eines Javascript-Formsubmit:
PHP-Code:
onchange="document.getElementById('language').submit()" 
Lieber:
PHP-Code:
document.forms[0].submit(); 
statt forms[0] kann man auch den Namen einer Form verwenden.
PHP-Code:
<form name="myform">
...
<
select ... onchange="document.myform.submit();"
Zu dem Thema hab ich nämlich diverse Threads im Netz gefunden:
document.getElementById('myForm').submit() does not work - JavaScript / Ajax / DHTML answers
document.getElementById(formID).submit() will work or not - CodingForums.com
habe Problem mit onclick="document.getElementById('form').submit()" - XHTMLforum
etc.
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
in einer funktion mit einer variablen variable abfragen ob ein array existiert hweinig PHP Tipps 2010 5 03.02.2010 15:27
Variable aus anderer Funktion benutzen, ausgeben iflsdc PHP Tipps 2009 9 19.08.2009 21:32
Funktion soll Variable manipolieren xdpi PHP Tipps 2009 14 09.06.2009 20:46
[Erledigt] funktion aufrufen wenn andere funktion aufgerufen wird kalli.c0re PHP Tipps 2009 16 05.06.2009 13:49
funktion für html escape etc. TeazY PHP Tipps 2009 19 12.02.2009 13:19
Externe Variable über eine Funktion ausgeben errox PHP Tipps 2008 3 14.04.2008 11:26
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
Hilfe! global variable nicht im funktion erkannt Bruce PHP Tipps 2006 3 24.01.2006 09:46
variable ausserhalb von funktion... tonne PHP Tipps 2005-2 7 27.10.2005 01:33
variable aus if Abfrage mit in eine Funktion nehmen djrace PHP Tipps 2005-2 6 20.10.2005 15:57
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
Wert einer Variable in einer anderen Funtion übernehmen seven-12 PHP Tipps 2005-2 7 14.06.2005 00:36
Auf Variable in extern gelagerter Funktion verwenden HTML, Usability und Barrierefreiheit 6 09.09.2004 14:05
Auf Variable in Funktion zugreifen PHP Tipps 2004 5 02.08.2004 23:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-einsteiger/65251-variable-aus-includierter-funktion-kommt-nicht.html, php variable als funktionsaufruf, config php variable include, php include variable leer, php return kommt nicht an, variablen aus php include leer, php variabler funktionsaufruf, aus includierter seite variable aufrufen, php variable aus includierter php, warning: include(/templates/standard_index.php) [function.include]: failed to open stream: no such file or directory in c, variablenübergaben bei php funktionen, php funktionsaufruf variable, php variable im text definieren, index findet variable aus class nicht php, php functionsaufruf mit variablen, include php variable, php funktionsaufruf in variable, php $_post aus includierter datei, variable in function leer php, warning: include(inc/htmlhead.php) [function.include]: failed to open stream:

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum