• 25.04.2024, 23:11
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Frage zu PHP

Mittwoch, 12. April 2006, 23:24

Guten Abend

Ich habe ein mehr oder minder grosses Problem mit einem Guestbook-Script auf einer website.


Und zwar funktioniert das Script solange ich es auf einer einzelnen Seite darstelle. Das über den "include" Befehl. Aber sobald ich das Script auf der eigentlichen Seite darstellen möchte gibt es ein Problem mit den Befehlen für das "eintragen" und "einloggen als Admin".

Hier die beiden Links zur Veranschaulichung:

http://www.caleidoensemble.com/german/main.php
http://www.caleidoensemble.com/german/alone.php

Ich habe eine Vermutung wo der Fehler liegt:


hier der code meiner "main.php"


mit dieser "if" Abfrage habe ich das includieren der verschiedenen Inhalte realisiert.


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
      
      if (!isset($nav)) { $nav=main ; }
      
      if ($nav=='main') { include('newssystem/mynews.inc.php'); }
      elseif ($nav=='news') { include('newssystem/mynews.inc.php'); }
      elseif ($nav=='about') { include('about.php'); }
      elseif ($nav=='about_benjamin') { include('about_benjamin.php'); }
      elseif ($nav=='about_liisa') { include('about_liisa.php'); }
      elseif ($nav=='about_sabrina') { include('about_sabrina.php'); }
      elseif ($nav=='about_teemu') { include('about_teemu.php'); }
      elseif ($nav=='repertoire') { include('repertoire.php'); }
      elseif ($nav=='concerts') { include('concerts.php'); }
      elseif ($nav=='booking') { include('booking.php'); }
      elseif ($nav=='guestbook') { include('guestbook/signme.inc.php'); }
      elseif ($nav=='media') { include('media.php'); }
      
      ?>



Nun frage ich mich ob diese Abfrage ein Problem darstellt und dadurch das inkludierte script nicht funktioniert, oder ob es ein anderer ganz banaler Fehler ist. Das Newssystem funktioniert ja wunderprächtig... Habt ihr noch andere Tipps oder Möglichkeiten um den Inhalt zu inkludieren?


Hab schon mehrere Stunden daran rumgetüftelt und dabei Nerven mit neu gelernten php Befehlen getauscht. :)

Ich hoffe es kann mir jemand helfen.


PA
Es gab mal einen Weg es den Bossen zu zeigen der nannte sich Rock 'n' Roll! Aber was war dann? Oh Nein den haben die Bosse auch kaputt gemacht mit einem kleinen Ding Namens MTV! - Jack Black, School of Rock

Re: Frage zu PHP

Donnerstag, 13. April 2006, 02:52

Möglicherweise interferiert das mit den include-Anweisungen vom Newsscript. Kannst du die mal hier zeigen?

Übrigens kannst du den von dir gezeigten Code-Ausschnitt mit dem Page Includer deutlich verkürzen. Wenn du Scripts aus Unterverzeichnissen einbinden willst, tust du das einfach in der entsprechenden Datei, die vom Page Includer aufgerufen wird. So musst du beim Hinzufügen neuer Seiten nicht immer wieder dein Hauptscript anpassen.

Re: Frage zu PHP

Donnerstag, 13. April 2006, 11:05

Also,

habe mir das Script mal angesehen.
Das Problem liegt darin:
Um einen Eintrag anzulegen wird das "Sprungziel" dynamisch definiert. Und zwar werden hierfür die ersten 10 Stellen deines Hash Wertes genommen und in der Session gespeichert.

Zeile 129 - 134

Quellcode

1
2
3
4
5
6
if (isset($_SESSION['submitCmd']))
        $submitCmd = $_SESSION['submitCmd']; 
else {
        $submitCmd = substr($hash, 0, 10);
         $_SESSION['submitCmd'] = $submitCmd;
}


Wie es scheint initialisierts du aber selber auch eine Session, sodass der Hash Wert nicht mehr in der Session ist und ein neuer erstellt wird?

Am einfachsten wäre es, wenn du aus dem dynamischen Wert einen statischen machst, z.B. so, wie es beim Adminlogin gelöst ist.

Edit:
Link zum Script:
http://www.planetluc.com/en/scripts_sign…Fsignme_1.4.zip
Signatur out of date...