Fatal error!

Also erstmal wollte ich anmerken, das ich neu hier bin… :wink:

Und jetzt würde ich gern wissen was ich mit dieser Fehlermeldung anfangen soll, mir gehen die Ideen aus…
–>Fatal error: Function name must be a string php on line 3

Und diese kommt wenn ich von der .html zur Loginseite wechseln möchte diese ist natürlich .php!
Liegen vielleicht nur die Dateien im falschen Ordner auf dem Server? Hier mal der .php Code

[code]<?php
SESSION_start();

$Benutzername = $_POST(‘Benutzername’);
$Kennwort = $_POST( ‘Kennwort’);

?>

if ( $Benutzername == “***” AND “***” == $ Kennwort )
(

echo "

Sie sind eingeloggt

";
)
$_SESSION ( ‘eingeloggt’) = TRUE;

if( $_SESSION(‘eingeloggt’) == TRUE )

echo "<p><a href="Loginbereich.php\"> Loginbereich</a><p>";

if( $_SESSION(‘eingeloggt’) != TRUE )
(
?>

Benutzername:

Kennwort:



<?php ?>[/code]

Wär sehr schön wenn mir jemand sagen könnte wo der Fehler liegt!
Danke

Steht doch da alles^^
Der Funktionsname in Zeile 3 muss ein String sein.

In deinem Fall ist dieser nen Array xD
$_POST und $_POST sind Array’s und keine Funktionen^^
de3.php.net/manual/en/language.types.array.php

Du solltest übrigens auch irgendwo schauen ob die überhaupt gesetzt sind [size=85](die Post Variablen)[/size], daher mit isset() oder !empty() wobei !empty() den Vorteil hat das es zusätzlich auch nicht leer Sein darf. Daher wenn der User nichts eingibt.

PS: ohne dir den Spaß der Suche zu verderben… aktuell ist man immer Eingeloggt :wink:
PPS: Du musst auch net unbedingt solche langen Bezeichnungen wie “eingeloggt” nehmen, nen “l” tuts auch^^ Vorteil bei weniger Text, PHP muss weniger Parsen weil dadurch auch das Script kleiner wird, folglich weniger CPU Belastung für den Server und demnach schnelleres Arbeiten. Zum anderen muss pro User der eingeloggt ist weniger Datenmüll aufm Server gespeichert werden, da sowohl Wert als auch Name gespeichert werden muss damit du es wieder nutzen kannst :wink:
Denk mal drüber nach.
PPPS: statt immer neu zu Überprüfen, nutze doch die Überprüfung die du schon hattest?<?php if(True) { CODE } else //also demnach FALSE { CODE }PPPPS: nutzt du tatsächlich Leerzeichen fürs Formatieren? Tabs sind Sinvollen da zum einen einfacher zu nutzen und zum anderen ists weniger Datenmüll :stuck_out_tongue: Als Editor falls du z.B. noch keinen hast kannst du Notepad2 oder das mächtigere Notepad++ nehmen, ich nutz beide :stuck_out_tongue: Notepad2 als Notepad Ersatz und Notepad++ für Projekte / längeres Arbeiten.
PPPPPS: ah ich liebe PS’s einfach xD

Hier mal der “Verbesserte” Code ich hab ihn jetzt mal so gelassen wie du ihn angefangen hast, damit du durchblickst und besser versehen kannst was ich geändert hab (und auch Fett markiert).

Dein Code korrigiert (was ich so gefunden habe nicht getestet):
P.S.: Mit Absicht “falscher” Code BBCode da sonst meine Formatierungen weg wären und ich glaub die sind hilfreich für dich.

[codestart]

<?php SESSION_start(); $Benutzername = $_POST[b][[/b]'Benutzername'[b]][/b]; $Kennwort = $_POST[b][[/b]'Kennwort'[b]][/b]; [b]if(!empty($Benutzername) && !empty($Kennwort)) {[/b] if ($Benutzername == "***" AND "***" == $ Kennwort) [b]{[/b] echo "

Sie sind eingeloggt

"; $_SESSION ( 'eingeloggt') = TRUE; [b]}[/b] [b]}[/b] if($_SESSION('eingeloggt') == TRUE[b])[/b] [b]{[/b] echo "

Loginbereich

"; [b]}[/b] if($_SESSION('eingeloggt') != TRUE ) [b]{[/b] ?> Benutzername:

Kennwort:


<?php [b]}[/b] ?>

[/codeende]

Und so würde ich es ca machen:

<?php
SESSION_start();

$Benutzername = $_POST['Benutzername'];
$Kennwort = $_POST['Kennwort'];

if(!empty($Benutzername) && !empty($Kennwort)) {
  if ($Benutzername == "***" AND "***" == $ Kennwort)
  {
    echo "<p> Sie sind eingeloggt </p>";
    $_SESSION ( 'eingeloggt') = TRUE;
    echo "<p><a href="Loginbereich.php\"> Loginbereich</a><p>";
  } else { ?>
<form action= "checklogin.php" method="post">
Benutzername:<br />
<input type="text" name="benutzername" />
<br />
Kennwort:<br />
<input type="password" name="Kennwort" />
<br />
<input type="submit" value="Einloggen"/>
<br/>
</form>
<?
  }
}
?>

LG Flo
Bei weiteren PHP oder auch MySQL fragen gerne :slight_smile:

Interessant wie du es machen würdest Ryon_^^
Hoffe du wolltest krampfadern-ade nicht nur testen und jetzt hab ichs verraten… aber dein Code geht auch net :stuck_out_tongue:
Deiner geht nur [size=85](soweit ich das beim überfliegen beurteilen kann, ob ob noch was falsch ist)[/size] wenn die POST variablen net leer sind :stuck_out_tongue: Ansonsten gibts nichts xD
Außerdem könnte man aus den 2 IFs eines machen :wink:

if(!empty($Benutzername) && !empty($Kennwort)) { if ($Benutzername == "***" AND "***" == $ Kennwort) {also zuif (!empty($Benutzername) && !empty($Kennwort) && $Benutzername == "***" && "***" == $ Kennwort) {denn Programmiersprachen [size=85](und natürlich zum Glück auch Scriptsprachen)[/size] prüfen IFs der Reihe nach, der PC kann ja eh nur eines nach dem andern^^ [size=85](Ausgenommen Multicore, da ists 1xCore, wobei ich auch net denk das nen Mensch mehreres gleichzeitig kann, da wir auch nur eine Maschine sind, machen wir natürlich auch eins nach dem andern :wink: Wobei unser Gehirn für bestimmte Sachen vermutlich nen eigenen “Core” hat also Gehirnhälften^^)[/size]
Da bei der IF and’s size=85[/size] genutzt werden, wird beim ersten False abgebrochen, anders wäre es natürlich bei or’s size=85[/size], denn dort muss bekanntlich nur eines stimmen.

Hi,

ja sorry war gestern etwas spät und mir war langweilig … stimmt schon die 2 ifs hätte ich zusammen machen können hätte ich mir eine geschweifte klammer gespart :stuck_out_tongue:.

LG Flo

P.S.: Dann wäre auch der “Fehler” weg wenn es keine POST daten gibt