kostenloser Webspace werbefrei: lima-city


Such-Script vernichtet php codes...

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    Hallo Leute,

    ich hab ein Such-Script von weiß ich net mehr wo in meine Seite eingebunden, angepasst und optimiert. Nun eigentlich sieht es soweit gut aus, fehlt nur noch etwas Struktur aber ok, das Problem ist, dass das Suchscript meine Php-Code's vernichtet. Gibt man etwas in die Suche ein, so kommt man auf eine via form gelinkte php Seite, inder nochmal eine php seite mit den ergebnissen angezeigt wird.

    Einst auf dieser Seite angekommen sieht das Menü nicht mehr aus, wie vorher, mein php code wird irgendwie vernichtet, ich weiß nicht genau was da passiert, siehet hier:

    Klick mich


    Die Dateien sind in einem .rar Archiv gepackt und auf dem Download-Server falls benötigt:

    Klick mich auch


    Hat jemand eine Idee, woran das liegt?




    PS: Ja ich weiß, dass das Männchen bei der Suche gar nicht auf die Suche zeigt....


    Beitrag zuletzt geändert: 24.1.2012 9:52:43 von kill-a-teddy
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich kann den Fehler bei mir nicht nachvollziehen...ich vermute aber, dass der Fehler im search_result.php liegt, und zwar an den Stellen, wo du die $_SESSION['user_id'] überprüfst. Also
    <?
    if($_SESSION['user_id'] == false) {
    echo '<li><a href="login.php">Login</a></li>';
    }
    ?>

    und
    <?
    // nur einblenden, wenn die Bedingung erfüllt wird
    if($_SESSION['user_id'] == true) {
    echo '<li><a href="login/logout.php">Logout</a></li>';
    }
    ?>


    Hier solltest du beim öffnenden PHP-Tag <?php statt nur <? schreiben, vielleicht behhebt das schon deine Probleme...
  4. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    alfr3d schrieb:
    Ich kann den Fehler bei mir nicht nachvollziehen...ich vermute aber, dass der Fehler im search_result.php liegt, und zwar an den Stellen, wo du die $_SESSION['user_id'] überprüfst.

    Hier solltest du beim öffnenden PHP-Tag <?php statt nur <? schreiben, vielleicht behhebt das schon deine Probleme...


    Danke für deine Antwort. Das Skuriose ist, wenn ich das bei der "search_result.php" wegmache verändert sich rein gar nichts, wenn ich es allerdings bei der "search.php" wegmache, dann sieht das Ergebnis genau so aus, wie bei der "search_result.php", also es ist durcheinander ^^

    // EDT: Ich hatte beim starten der session noch ein <?php stehe, was ich eben nachträglich entfernt habe, es gibt trotzdem keine Veränderung.


    //EDIT2:

    Wäre es denkbar, dass in diesen Zeilen
    <?
    if($_SESSION['user_id'] == false) {
    echo '<li><a href="login.php">Login</a></li>';
    }
    ?>
    <?
        // nur einblenden, wenn die Bedingung erfüllt wird
        if($_SESSION['user_id'] == true) {
    	echo '<li><a href="login/logout.php">Logout</a></li>';
    	}
    ?>


    Das
    </a>
    den code escaped?

    Beitrag zuletzt geändert: 24.1.2012 12:54:00 von kill-a-teddy
  5. Was ich meinte, ist dass du grundsätzlich überall <?php verwenden sollst...

    Das mit dem "escapen" wäre mir neu, zur Sicherheit schreibe es einmal so:
    <?php
    if($_SESSION['user_id'] == false) {
    echo "<li><a href=\"login.php\">Login</a></li>";
    }
    ?>
    <?php
    // nur einblenden, wenn die Bedingung erfüllt wird
    if($_SESSION['user_id'] == true) {
    echo "<li><a href=\"login/logout.php\">Logout</a></li>";
    }
    ?>


    Aber wie gesagt, ich vermute, dass es an den öffnenden PHP-Tags liegt...

    Außerdem würde ich dass ganze evlt so lösen:
    <?php
    // nur einblenden, wenn die Bedingung erfüllt wird
    if($_SESSION['user_id']) {
    echo "<li><a href=\"login/logout.php\">Logout</a></li>";
    } else {
    echo "<li><a href=\"login.php\">Login</a></li>";
    }
    ?>

    So ist auch der Fall abgedeckt, dass $_SESSION['user_id'] einen anderen Zustand als false oder true hat, aber das nur am Rande.

    Beitrag zuletzt geändert: 24.1.2012 13:01:50 von alfr3d
  6. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    Durch den unteren Code bekomme ich genau das wieder:

    Logout"; } else { echo "
    LOGIN
    "; } ?>


    statt meinen Link ^^

    //EDIT:

    Meine zweite überlegung, wenn er die Datei holt
    # Template laden
    $tmpl = join('', file('./search_result.php'));


    läd er ja quasi einen php code in den anderen code rein, während beide zur selben Zeit ausgeführt werden, geht das eig.?

    Beitrag zuletzt geändert: 24.1.2012 13:08:17 von kill-a-teddy
  7. Tritt der Fehler auch auf, wenn du die search_result.php direkt aufrufst?

    Wenn nein, dann vermute ich, dass es evtl Probleme mit dem session_start(); in der search_result.php beim einbinden gibt...

    Und hast du error_reporting an?

    Beitrag zuletzt geändert: 24.1.2012 13:16:01 von alfr3d
  8. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    alfr3d schrieb:
    Tritt der Fehler auch auf, wenn du die search_result.php direkt aufrufst?

    Wenn nein, dann vermute ich, dass es evtl Probleme mit dem session_start(); in der search_result.php beim einbinden gibt...


    Da kommt tatsächlich derselbe "Fehler"
  9. kill-a-teddy schrieb:
    alfr3d schrieb:
    Tritt der Fehler auch auf, wenn du die search_result.php direkt aufrufst?

    Wenn nein, dann vermute ich, dass es evtl Probleme mit dem session_start(); in der search_result.php beim einbinden gibt...


    Da kommt tatsächlich derselbe "Fehler"


    Gibt es einen Link zu der besagten Seite, ich kann das lokal bei mir leider nicht nachvollziehen...

    Gibt es denn eine Fehlermeldung?
  10. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    alfr3d schrieb:
    Gibt es einen Link zu der besagten Seite, ich kann das lokal bei mir leider nicht nachvollziehen...

    Gibt es denn eine Fehlermeldung?



    Läuft via XAMPP sorry.. Hab lediglich die Dateien hochgeladen (im ersten Beitrag)

    //EDIT: Es ist so oder so eigenartig, denn auf anderen Seiten klappt es...

    Beitrag zuletzt geändert: 24.1.2012 13:23:16 von kill-a-teddy
  11. kill-a-teddy schrieb:
    alfr3d schrieb:
    Gibt es einen Link zu der besagten Seite, ich kann das lokal bei mir leider nicht nachvollziehen...

    Gibt es denn eine Fehlermeldung?



    Läuft via XAMPP sorry.. Hab lediglich die Dateien hochgeladen (im ersten Beitrag)


    Ja hab ich gesehen, läuft aber bei aufgrund fehlender Dateien & Stylesheets nicht.

    Also nochmal: search.php wird korrekt dargstellt search_result.php (auch bei direktem Aufruf) hingegen nicht?
    Das ist für mich insofern unlogisch, weil die Dateien bis zu dieser Stelle absolut identisch sind (außer dem unterschiedliche Stylesheet).

    Bist du dir also absolut sicher, dass du wirklich die aktuelle Datei aufrufst? Und hast du bei search_result.php wirklich alles geändert (<?php anstatt <?)?

    Überprüfe nochmal, ob search.php und search_result.php genau gleich sind...

    EDIT: was funktioniert auf anderen Seiten?

    Beitrag zuletzt geändert: 24.1.2012 13:24:46 von alfr3d
  12. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    alfr3d schrieb:
    Ja hab ich gesehen, läuft aber bei aufgrund fehlender Dateien & Stylesheets nicht.

    Also nochmal: search.php wird korrekt dargstellt search_result.php (auch bei direktem Aufruf) hingegen nicht?
    Das ist für mich insofern unlogisch, weil die Dateien bis zu dieser Stelle absolut identisch sind (außer dem unterschiedliche Stylesheet).

    Bist du dir also absolut sicher, dass du wirklich die aktuelle Datei aufrufst? Und hast du bei search_result.php wirklich alles geändert (<?php anstatt <?)?

    Überprüfe nochmal, ob search.php und search_result.php genau gleich sind...

    EDIT: was funktioniert auf anderen Seiten?


    Ich lade alles nochmal hoch, inclusive fehlender Stylesheet dauert aber einen Moment. Wenn ich search aufrufe, und meinen Begriff eingebe wird der begriff via einer form an do_search übergeben, diese widerum liest search_result.php, um das Ergebnis zu formatieren. Aber auch wenn ich search_result.php "per hand" aufrufe ändert sich nichts, der Fehler ist nicht verschwunden.

    Bis auf den Stylesheet sind beide Dateien absolut identisch ja.

    Auf anderen Seiten funktioniert meine Session das meinte ich.



    //EDIT: Ist hochgeladen mit den css Dateien... der Link derselbe, wie im ersten Beitrag (ich hab die Datei einfach überschrieben)


    ---- Bin schnell rauchen ----

    Beitrag zuletzt geändert: 24.1.2012 13:37:03 von kill-a-teddy
  13. Absolut mysteriös...

    Ich kann die Suche aber immernoch nicht ausführen, weil mir noch Dateien fehlen auf die do_search.php zugreift.
    Aber beim direkten Aufruf, von search_result.php taucht bei mir dieser Fehler nicht auf...

    Wie ich jetzt aber sehe verwendest du ja im search_result.php immernoch <? anstatt <?php.
    Ändere doch bitte diese Stellen:
    <? session_start(); ?>
    ...
    <?
    // nur einblenden, wenn die Bedingung erfüllt wird
    if($_SESSION['user_id']) { 
    echo '<li><a href=\"login/logout.php\">Logout</a></li>'; } 
    else { 
    echo '<li><a href=\"login.php\">Login</a></li>'; }
    ?>

    in
    <?php session_start(); ?>
    ...
    <?php
    // nur einblenden, wenn die Bedingung erfüllt wird
    if($_SESSION['user_id']) { 
    echo '<li><a href=\"login/logout.php\">Logout</a></li>'; } 
    else { 
    echo '<li><a href=\"login.php\">Login</a></li>'; }
    ?>


    Oder du musst in deiner php.ini folgendes einfügen/ändern/aktivieren:
    short_open_tag = On


    Beitrag zuletzt geändert: 24.1.2012 13:40:46 von alfr3d
  14. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    Das sieht schon besser aus jetzt....

    Siehe hier

    Beim Direkten aufruf ist es richtig, beim Aufruf via "do_search" leider noch nicht


    //EDIT: Die .inc datei, welche "do_search" aufruft ist jetzt im Archiv


    Also ich hab die php.ini jetzt geändert und xampp bzw. apache neu gestartet, das hat keine veränderung gebracht

    Beitrag zuletzt geändert: 24.1.2012 13:48:30 von kill-a-teddy
  15. Ja jetzt kann ich dass alles bei mir so nachvollziehen...

    Wenn man die search_result.php direkt aufruft ist alles in Ordnung, wenn sie allerdings über die do_search.php gerufen/eingebunden wird, wird der PHP-Code nicht geparst.

    Ich vermute, dass in der do_search.php irgendwie die search_result.php als "String" o.ä. ausgegeben wird, und deshalb der enthaltene PHP-Code nicht ausgeführt wird...

    Bin jetzt allerdings auch ein bisschen ratlos, da die do_search.php auch nicht gerade klein ist und auf die Schnelle nicht so einfach zu verstehen ist...
  16. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    alfr3d schrieb:
    Ja jetzt kann ich dass alles bei mir so nachvollziehen...

    Wenn man die search_result.php direkt aufruft ist alles in Ordnung, wenn sie allerdings über die do_search.php gerufen/eingebunden wird, wird der PHP-Code nicht geparst.

    Ich vermute, dass in der do_search.php irgendwie die search_result.php als "String" o.ä. ausgegeben wird, und deshalb der enthaltene PHP-Code nicht ausgeführt wird...

    Bin jetzt allerdings auch ein bisschen ratlos, da die do_search.php auch nicht gerade klein ist und auf die Schnelle nicht so einfach zu verstehen ist...


    In diesem Teil wird die Datei geladen:

    # Template laden
    $tmpl = join('', file('./search_result.php'));
  17. Das Problem ist, dass join() ein Array, Datei etc einließt dann die ganzen Elemente verknüpft und wieder zurückliefert.
    Dadurch erhälst du einen String und dein PHP-Code kann nicht mehr interpretiert werden...

    Wenn du dir den Quelltext anzeigen lässt im Browser, kannst du das gut sehen!

    Beitrag zuletzt geändert: 24.1.2012 14:17:18 von alfr3d
  18. Autor dieses Themas

    kill-a-teddy

    Kostenloser Webspace von kill-a-teddy

    kill-a-teddy hat kostenlosen Webspace.

    alfr3d schrieb:
    Das Problem ist, dass join() ein Array, Datei etc einließt dann die ganzen Elemente verknüpft und wieder zurückliefert.
    Dadurch erhälst du einen String und dein PHP-Code kann nicht mehr interpretiert werden...

    Wenn du dir den Quelltext anzeigen lässt im Browser, kannst du das gut sehen!


    Was heißt ich muss den Teil entweder weglassen oder direkt in der do_search.php einbinden richtig? Wenn ich eine globale Variable definiere und diese dann einfach auslesen lasse würde das gehen?
  19. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!