mir ist die fehlermeldung nicht bekannt

ethciF

Gesperrt
Fatal error: Call to undefined function lang_getfrombrowser() in /var/www/fichte.x-ion.de/htdocs/php/buch 10.php on line 3

dies ist die fehler meldung.
am anfang meines scripts habe ich ( aus einem lernbuch [ code=php ] ) diese function benutzt.
weil es da steht, dachte das wäre eine von diesen vordefinierten vom browser. aber pustekuchen ... so'n mist. das funtzt net und ich hab 40 min gebraucht um das komplette script abzuschreiben. plz helft mir
 
Code:
Fataler Fehler: Aufruf einer undefinierte Funktion "lang_getfrombrowser()" in "/var/www/fichte.x-ion.de/htdocs/php/buch 10.php" in Zeile 3

Wie du bereits bemerkt hast, ist das keine vorgefertigte Funktion. Wenn du uns aber sagst, was sie erreichen soll, könnte man versuchen, die Funktion zu rekonstruieren.
Ansonsten blätter einfach mal ein paar Seiten zurück - Höchstwahrscheinlich findest du die Funktion in einem früheren Beispiel.

Nochmal eine kleine Anfügung: Könnte mir vorstellen, dass die Funktion mit $_SERVER['HTTP_ACCEPT_LANGUAGE'] arbeitet.
Wenn du die vom Client verwendete Sprache rekonstruieren möchtest, reicht also
PHP:
<?php
function lang_getfrombrowser()
{
    switch ($_SERVER['HTTP_ACCEPT_LANGUAGE']) {
        case 'en':
            return 'engisch';
        case 'de':
        default:
            return 'deutsch';
    }
}

Aber eine konkrete Lösung braucht konkrete Gedanken, was die Funktion überhaupt anstellen soll ;)
 
Zuletzt bearbeitet:
sry aber ich bin am verzweifeln, diese function kam nie vor, die haben sie einfach reingeworfen. bitte sei so nett und versuch dein glück am ganzen script.

PHP:
<?php
	$allowed_langs = array ('en','de');
	$lang = lang_getfrombrowser ($allowed_langs,'en',null,false);
	if (lang == 'de')
		{
		$greetingtext = "Melden sie sich bitte an";
		$errormessage = "Fehler: Benutzername oder Passwort ist leer";
		$loginname = "Benutzername";
		$password = "Passwort";
		$login_button = "Login";
		$reset_button = "Reset";
		}
	else
		{
		$greetingtext = "Please log in";
		$errormessage = "Fehler: Username or Password is empty";
		$loginname = "Username";
		$password = "Password";
		$login_button = "Login";
		$reset_button = "Reset";
		}
?>

<html>
	<head>
		<title>loginformular</title>
	</head>
	<script language="JavaScript">
		function check_form(msg)
			{
			var uname = document.forms['login'].username.value;
			var upass = document.forms['login'].password.value;
			while (uname.charat(0) == '')
				{
				uname = uname.substr(1);
				}
			document.forms['login'].username.value = uname;
			if (uname.length > 0 && upas.length > 0)
				{
				return true;
				}
			else
				{
				alert (msg);
				return false;
				}
			}
		function sendform(msg)
			{
			if (checkform(msg))
				{
				document.forms['login'].submit();
				}
			}
		function resetform()
			{
			document.forms['login'].reset()
			}
	</script>
	<body>
		<center>
			<form name="login" method="POST" action="login.php" onsubmit="return checkform('<?php echo $errormessage; ?>');">
				<table>
					<tr>
						<td colspan="3">
							<?php echo $greetingtext ?>
						</td>
					</tr>
					<tr>
						<td>
							<?php echo $loginname ?>
						</td>
						<td width="20">
						</td>
						<td>
							<input> type="text" name="username" size="20" />
						</td>
					</tr>
					<tr>
						<td colspan="3" height="10">
						</td>
					</tr>
					<tr>
						<td>
							<?php echo $password ?>
						</td>
						<td width="20">
						</td>
						<td>
							<input> type="password" name="password" size="20" onkeypress=
								"javascript:
									if(document.all)
										{
										if(window.event.keycode==13
											{
											sendform('<?php echo $errermessage; ?>');
											}
										}
								"
							/>
						</td>
					</tr>
					<tr>
						<td colspan="3" height="10">
						</td>
					</tr>
					<tr>
						<td colspan="2">
						</td>
						<td align="right">
							<a href="javascript:resetform();">
							<?php echo $reset_button; ?>
							</a>
							&nbsp;&nbsp;&nbsp;
							<a href="javascript:sendform('<?php echo $errormessage; ?>');">
								<?php echo login_button; ?>
							</a>
						</td>
					</tr>
				</table>
			</form>
		</center>
	</body>
</html>
 
Ich schmeiße einfach mal eine vereinfachte Form der Funktion rein, die ungefähr funktioniert.

Das Problem ist einfach, dass die Browser verschiedene Werte liefern, mein Firefox sagt z. B.:

en-us,en;q=0.7,de-de;q=0.3

Mein IE:


Und mein Opera:

de-DE,de;q=0.9,en;q=0.8

PHP:
function lang_getfrombrowser() {
  if(strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'de') !== false)
  {
    return 'de';
  }
  else
  {
    return false;
  }
}

# Beispiel:
$lang = lang_getfrombrowser();
if($lang == 'de')
{
  echo "Deutsch";
}
else
{
  echo "Nicht Deutsch";
}

Versuch es mal so.
 
ok soweit problem gelöst , keine fehler mehr.
aber da passiert nichts wenn ich login drücke. liegt das daran das ich login.php noch nicht programmiert habe?
 
Hallo,
ok soweit problem gelöst , keine fehler mehr.
aber da passiert nichts wenn ich login drücke. liegt das daran das ich login.php noch nicht programmiert habe?
kannst du dir das eigentlich nicht selber beantworten? :rolleyes: Wie sollst du durch die login.php angemeldet werden, wenn sie gar nicht existiert? :)

mfg
forsterm
 
ich bin erst seit 2 tagen dabei php zu lernen. also bitte seid nicht gleich so hart aber es hat sich alles geklärt danke.
 
Zurück