Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP-Funktion (IF) im Link

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema PHP-Funktion (IF) im Link.

    PHP-Funktion (IF) im Link

    Hallo,

    ich habe folgende PHP-Funktion in einen Link eingebaut:

    <a <?php if($id=="start"){echo "class=bold";} else{echo "class=normal";} ?> href="index.php?id=start" >Start</a>

    Das komische ist, dass es bei der PHP-Version 4.3.4 funktioniert, aber bei der Version 4.3.6 nicht.
    Ist es so, wie ich es gemacht habe überhaupt zulässig, oder macht man es anders?

    Kann mir jemand sagen, was daran falsch ist?

    Danke im Voraus
    Erri

  • Gast-Avatar
    Ein Gast antwortete
    $_REQUEST bei if (!isset...)

    Zitat von Erri
    Guten Morgen,

    gestern habe ich mein Problem mit $_REQUEST gelöst.
    Hier funktioniert es leider nicht.

    if (!isset($id)) {
    $id="index";
    }

    --> dies funktioniert nicht (außer register globals on)

    if (!isset($_REQUEST['id'])) {
    $id="index";
    }

    --> dies funktioniert aber auch nicht

    Wisst ihr, wie ich es diesmal machen kann?

    Danke
    Erri
    Habt ihr vielleicht eine Lösung hierfür?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Guten Morgen,

    gestern habe ich mein Problem mit $_REQUEST gelöst.
    Hier funktioniert es leider nicht.

    if (!isset($id)) {
    $id="index";
    }

    --> dies funktioniert nicht (außer register globals on)

    if (!isset($_REQUEST['id'])) {
    $id="index";
    }

    --> dies funktioniert aber auch nicht

    Wisst ihr, wie ich es diesmal machen kann?

    Danke
    Erri

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    Zitat von Erri
    Wieso das denn? Was hat das für Gründe?
    ?id=

    aus $_GET, $_REQUEST abzugreifen ist schlicht logischer. Weil du so immer weist, wo es her kommt.

    Das Ding kann dir auch nicht zufällig mit irgendeiner anderen $id ins Gehege kommen.

    Ein potenzieller Angreifer kann dir auch nicht einfach mal so eine $id unterschieben, wo keine von aussen hin soll

    Je nach Hosters ist es nunmal OFF ...^^

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    Zitat von Broadcast
    zu a.) Musst mal meine Quellcodes sehen da sieht alles so aus! meiner meinung nach übersichtlich und kein haufen von string aneinanderreihungen.
    Nö .. verzichte auf diese Anblick und widme mich lieber deinem Avatar ...


    Aber mach es doch wenigstens so:
    Code:
    print 'Start';
    Immerhin ist ja keine Variable eingebunden ...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Guradia
    Zitat von Erri
    Das eigentliche Problem lag bei register globals...
    Und die solltest du auch hübsch auf OFF lassen.
    Wieso das denn? Was hat das für Gründe?

    Erri

    Einen Kommentar schreiben:


  • Broadcast
    antwortet
    @Guradia

    Du darfst dat net so umständlich erklären! Es gibt auch leute im Forum die mit PHP gerade erst anfangen (ich zwar nich aber egal)!

    zu a.) Musst mal meine Quellcodes sehen da sieht alles so aus! meiner meinung nach übersichtlich und kein haufen von string aneinanderreihungen.

    Ich find es so übersichtlich und es funzt, man merkt vielleicht das ich zuviel mit C++ Programmiere!!

    MFG Broadcast

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    Zitat von Erri
    Das eigentliche Problem lag bei register globals...
    Und die solltest du auch hübsch auf OFF lassen.

    Zitat von Erri
    Eine Frage hab ich noch: Für was sind die "\" (Backslash`s) gut, die
    Broadcast in seinem Code hat?
    a: Seine Code-Variante ist die mit abstand übelste hier
    b: besonders wegen dieser Backslahs ..
    c: Diese leite eine "Escape-Sequenz" ein. Damit wird es möglich Sonderzeichen einzufügen. Da die String im " umschlossen waren, ist " innerhalb des Strings ein Sonderzeichen und muss escaped werden.

    Einen Kommentar schreiben:


  • Broadcast
    antwortet
    Da man beim ECHO-Befehl schon Anführungsstriche verwendet, muss man die Anführungsstriche im ECHO-Befehl "Ausklammern".

    Beispiel:

    Code:
    echo "Dein name ist "Noob" sag ich dir!";
    Man hat hier 4 Anführungsstriche, der ECHO-Befehl denkt nun das der Befehl beim 2. Anführungsstrich schon zuende ist, er soll aber bis Anführungsstrich 4 gehen und nicht bis 2. Also müssen wir Anführungsstrich 2 und 3 Ausklammern. So also:

    Code:
    echo "Dein name ist \"Noob\" sag ich dir!";
    Musste mal ausprobieren dann siehst du es!

    MFG Broadcast

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Vielen Dank für eure schnelle Hilfe.

    Das eigentliche Problem lag bei register globals...

    Aber auch danke für die Hinweise der Schreibweisen.
    Ich bin noch ziemlicher PHP-Neuling und mach mir`s halt
    doch schwerer als es ist.

    Eine Frage hab ich noch: Für was sind die "\" (Backslash`s) gut, die
    Broadcast in seinem Code hat?

    Danke und Gruß
    Erri

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    Re: PHP-Funktion (IF) im Link

    <a <?php if($_REQUEST['id']=="start"){echo "class=bold";} else{echo "class=normal";} ?> href="index.php?id=start" >Start</a>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Broadcast
    Mach es dir nicht so UMSTÄNDLICH!! :wink:
    naja die einfachste und schnellste version is deins au nedd :wink:

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    evtl einmal register_globals=on das andere mal =off ?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    ich würde das so machen
    Code:
    <?php
    if($id=="start"){
    $class="bold";
    } else {
    $class="normal";
    }
    ?>
    <a class="<?php echo $class ?>" href="index.php?id=start">Start</a>

    Einen Kommentar schreiben:


  • Broadcast
    antwortet
    WHAT THE HELL...!!

    Ich würd das so machen wenn ich du wäre:

    Code:
    <?php
    
    if($id=="start")
    {
        echo "<a class=\"bold\" href=\"index.php?id=start\">Start</a>";
    }
    else
    {
        echo "<a class=\"normal\" href=\"index.php?id=start\">Start</a>";
    }
    
    ?>
    Mach es dir nicht so UMSTÄNDLICH!! :wink:

    MFG Broadcast

    Einen Kommentar schreiben:

Lädt...
X