URL ermitteln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • URL ermitteln

    Hallo,

    Ich bin grad dabei mir ein Tell-A-Friend script zu schreiben. Die Seite an sich ist übrigens unter Einsatz von Smarty programiert.

    In der Mail soll ein Link mitgeschickt werden der die URL der vorherigen Seite ist.

    auktion.tpl
    PHP-Code:
    <a href="index.php?id=32&uid={$uid}?welche_seite=<?php echo $PHP_SELF;?>">Diese Auktion einem Freund empfehlen</a>
    Das ist der Link mit dem ich die URL übergeben möchte.

    empfehlen.inc
    PHP-Code:
    $seite $_GET['welche_seite']; 
    Hier mit nehme ich die Daten in Empfang.

    Mein Problem ist das ich folgende Fehlermeldung bekomme:

    Notice: Undefined index: welche_seite in C:\...\inc\empfehlen.inc on line 8

    Dort ist die oben geschriebene Zeile.
    Vielleicht könnt ihr mir auf die Sprünge helfen wo mein Fehler liegen könnte.

    Habe diese Variante per google gefunden. Aber eine Lösung find ich nicht. Vielleicht kennt ihr auch eine bessere Variante für mein Problem.

    Danke schonmal.
    Gruß
    Ich hab schon gesagt was ich weiss. Das weiss ich, weil ich gesagt habe: "Das ist alles was ich weiss".

  • #2
    PHP-Code:
    $_SERVER['PHP_SELF']; 
    mfg

    Kommentar


    • #3
      Re: URL ermitteln

      Und wie sieht der erzeugte Link im HTML-Quellcode aus?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Code:
        <a href="index.php?id=32&uid={$uid}?welche_seite=<?php echo $PHP_SELF;?>">
        Also der Link der so generiert wird ist 100%-ig falsch. Ein Link darf nur ein Fragezeichen als Markierung des Beginns des Query Strings haben. Du hast aber zwei eingebaut
        Probiers mal so
        Code:
        <a href="index.php?id=32&amp;uid={$uid}&amp;welche_seite=<?php echo $_SERVER['PHP_SELF'];?>">
        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          @ jahlives:
          Ich hab es jetzt mal so gemacht wie du geschrieben hast.
          Dennoch bekomme ich die Fehlermeldung weiter hin
          Ich hab schon gesagt was ich weiss. Das weiss ich, weil ich gesagt habe: "Das ist alles was ich weiss".

          Kommentar


          • #6
            Also dann poste jetzt mal den Link wie er im HTML-Output steht.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              ich bin glaub ich n bischen zu doof um zu verstehen was du meinst. sry

              Den hab ich ausm Quellcode kopiert

              <a href="index.php?id=32&uid=735&welche_seite=<?php echo $_SERVER['PHP_SELF'];?>"

              und den oben aus der URL-Zeile:

              http://localhost/index.php?id=32&uid...?php%20echo%20$_SERVER['PHP_SELF'];?%3E

              ...

              Aber das Problem ist auf einmal nicht mehr da
              Habe dafür ne neue Fehlermeldung

              Undefined index: seite in C:\...\templates_c\%%79^795^7951378C%%empfehlen.tpl.php on line 37

              Werde mal suchen und googlen ob ich den beheben kann.

              Danke für eure Bemühungen und hilfe
              Ich hab schon gesagt was ich weiss. Das weiss ich, weil ich gesagt habe: "Das ist alles was ich weiss".

              Kommentar


              • #8
                Die Fehlermeldung ist eine "Notice" und die weiß dich daraufhin, das du auf den nichtexistenten Index 'welche_seite' im Array $_GET zugreifst.

                vorher mit isset prüfen:

                PHP-Code:
                if(isset($_GET['welche_seite'])){
                  
                $seite $_GET['welche_seite']
                }else{
                  
                $seite false;

                Kommentar


                • #9
                  Original geschrieben von Gumblebee
                  ich bin glaub ich n bischen zu doof um zu verstehen was du meinst. sry
                  Du sollst dir den erzeugten HTML-Code anzeigen lassen, nachdem du dein Script aufgerufen hast - und da schauen, was da an der Stelle für <a href="..."> wirklich steht.
                  und den oben aus der URL-Zeile:

                  http://localhost/index.php?id=32&uid=735&welche_seite=%3C?php%20echo%20$_SERVER['PHP_SELF'];?%3E
                  Sieht doch wohl ganz eindeutig danach aus, dass dein <?php echo $PHP_SELF;?> nicht geparst wurde, sondern einfach unverändert übernommen (und anschließend noch URL-kodiert) wurde.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Was auch nicht verwunderlich ist, schließlich ist er ja im Template und dafür hat Smarty {php}-Tags vorgesehen, bzw: {$smarty.server.php_self}
                    Zuletzt geändert von mrhappiness; 11.09.2006, 15:09.
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Hm...Wie gesagt ich bin noch ziemlich frisch beim programieren...
                      Aber die Fehlermeldung kommt im Moment nicht mehr...
                      Wieso weiß ich nicht
                      Ich hab schon gesagt was ich weiss. Das weiss ich, weil ich gesagt habe: "Das ist alles was ich weiss".

                      Kommentar


                      • #12
                        Aber die Fehlermeldung kommt im Moment nicht mehr...
                        Dann funzt es jetzt wie gewünscht ? Ansonsten bitte mal den Link im HTML Quelltext posten.

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Also funktionieren tut es nicht. Aber die Fehlermeldung kommt auch nicht mehr.

                          Wenn ich mir denn Quelltext anzeigen lasse steht dort komischerweiser nur:

                          PHP-Code:
                          <a href="index.php?id=33" class="menu_1a">Seite weiterempfehlen</a
                          Ich hab schon gesagt was ich weiss. Das weiss ich, weil ich gesagt habe: "Das ist alles was ich weiss".

                          Kommentar


                          • #14
                            Also in diesem Falle brauchen wir doch den PHP Source Code

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              Der PHP Code ist eigentlich nicht so besonders...

                              PHP-Code:
                              <?php
                              $smarty
                              ->assign('id'$_site);
                              $smarty->assign('acttitle''Diese Seite weiterempfehlen');
                              $smarty->assign('content''empfehlen.tpl');
                              $smarty->assign('data''');


                              $seite $_GET['welche_seite'];
                              $smarty->assign('seite'$seite);
                              Danach kommt nur noch Berechnung (uninteressant) und die Sachen vom Mail-script
                              Ich hab schon gesagt was ich weiss. Das weiss ich, weil ich gesagt habe: "Das ist alles was ich weiss".

                              Kommentar

                              Lädt...
                              X