Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Was ist an diesem PHP-Script falsch?

Hallo,
bei diesem PHP-Scripz ist ein Fehler...nur ich finde ihn absolut nicht.

 

Zitat


<?php session_start(); ?>
<?php
if($_SESSION["s_id"]!=session_id())
   {
      session_destroy();
      Header("Location:index.php");
      exit();
   }
   $_SESSION["benutzer"]=$_POST["benutzer"];
   $_SESSION["password"]=$_POST["password"];
         $ID=$_SESSION["s_id"];

   if( (empty($_SESSION["benutzer"]))||(empty($_SESSION["password"])) )
   {
      echo("Bitte vollständige Angaben machen!<br>");
      echo("<a href='login.php'>Zurück zur Login-Seite!</a>");
   }
?>

Als Fehlermeldung erhlate ich:
Parse error: syntax error, unexpected '[' in C:\xampp\htdocs\php\index.php on line 10

Aber eigentlich sind die Klammern doch richtig, oder?
Vielen Dank schonmal.

Antworten zu Was ist an diesem PHP-Script falsch?:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

Einen Syntaxfehler kann ich auch nicht entdecken. Hast du die Datei irgendwie per Include eingebunden, bzw. ist DAS HIER die index.php? Wenn das Skript in dieser Form allein läuft, landet es in einer Endlosschleife von Requests, weil es sich immer wieder selber aufruft.

Weiterhin immer beachten, dass vor einem session_start() keine andere Ausgabe erfolgt. Leerzeichen/-zeilen außerhalb von PHP-Blöcken sind übrigens auch Ausgaben.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Danke..

Also der Teil steht nicht alleine.
Es gibt auch noch einen Else-Block.
Der besteht bisher nur aus print();.

 

Zitat
<?php session_start(); ?>
<?php
if($_SESSION["s_id"]!=session_id())
   {
      session_destroy();
      Header("Location:index.php");
      exit();
   }
   $_SESSION["benutzer"]=$_POST["benutzer"];
   $_SESSION["password"]=$_POST["password"];
         $ID=$_SESSION["s_id"];

   if( (empty($_SESSION["benutzer"]))||(empty($_SESSION["password"])) )
   {
      echo("Bitte vollständige Angaben machen!<br>");
      echo("<a href='login.php'>Zurück zur Login-Seite!</a>");
   }
else{
echo<<<END
<html>
<head>
<title>CSS-Erstellen</title>
<link rel="text/css" href="standard.css">
<body>
END;
switch($mode){
default:
print("Fehler!!!");
break;
case "":
echo<<<END
<table>
<tr>
 <td>gf</td>
 <td></td>
</tr>
<tr>
 <td></td>
 <td></td>
</tr>
</table>
END;
break;
case 1:
print($mode);
break;
case 2:
print($mode);
break;
}
}
echo<<<END
</body>
</html>
END;
?>

Das ist der gesamte Code...wie gesat ich bin gerade erst (wieder) angefangen...will mich da jetzt wieder reinarbeiten..deshlab wollteich langsam mit  ein paar kleine scripten arbeiten...und die datei nach un nach erweitern ;D
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Die Situation bleibt aber dieselbe. Das Skript ruft sich immer wieder selber auf, und syntaktisch sieht alles ok aus. Ergo kann das Skript bei dir nicht 100%ig so aussehen wie das, was du gepostet hast.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ok...also erstmal würde ich gerne wissen wieso sich das script selbst aufruft...

und dann würde ich gerne wissen was man an copy&paste falsch machen kann ???

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ok...also erstmal würde ich gerne wissen wieso sich das script selbst aufruft...

In der ersten If-Anweisung fragst du, ob eine nichtssagende und nirgends initialisierte Session-Variable ungleich der Session-ID ist. Das ist natürlich der Fall, und somit geht das Programm in diesen If-Block und ruft sich selber wieder auf.


und dann würde ich gerne wissen was man an copy&paste falsch machen kann ???

Man kann möglicherweise Teile vergessen zu kopieren. Zum Beispiel den Teil des Tutorials, der den Login-Bereich ausgibt und diese ominöse Session-Variable initialisiert:


<?php
	
session_start();
?>

<?php $_SESSION["s_id"] = session_id();
echo(
"<h2>LOGIN-Bereich</h2>");
echo (
" <form action=&#39;session_check.php&#39; method=&#39;POST&#39;>   <table>
  <tr>
    <td>Benutzername:</td>
    <td><input type=&#39;text&#39; name=&#39;benutzer&#39; size=&#39;30&#39; maxlength=&#39;30&#39;></td>
  </tr>
  <tr>
    <td>Passwort:</td>
    <td><input type=&#39;password&#39; name=&#39;password&#39; size=&#39;10&#39; maxlength=&#39;10&#39;></td>
  </tr>
  <tr>
    <td> </td>
    <td><input type=&#39;submit&#39; value=&#39; OK &#39;></td>
  </tr>
</table>
</form>
"
);
?>


Schonmal gesehen? Wusste ich doch ;)

So, dann noch die Dateinamen anpassen, und es sollte gehen.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

 :-[ ops....da war ja was.... ::)

ok...probier das mal aus.

EDIT: Ok...man sollte wirlich mal auf Datei und Varibalennamen achten... ::)
naja jetzt funktioniert das meiste ;D

nochmals danke 

« Letzte Änderung: 29.10.07, 09:04:25 von Andre S. »

« Chat für meine HPjemand hat mich bei FREENET SINGLES angemeldet. ich bekomm dauernd e-mails »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...

Dateisystem
Das Dateisystem eines Computers definiert, wie Daten auf einem Speichermedium organisiert werden. Es bestimmt dabei, wie die Informationen auf dem Medium gespeichert, gel...