derbes Problem

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

  • derbes Problem

    Ich habe eine externe Funktion die lautet:

    PHP-Code:
    function linkst($text
    {
        return 
    'onmouseover="window.status=\''.$text.'\';return true" '.
               
    'onmouseout="window.status=\'\';return true"';


    Hier in díesem Tabellengerüst wird diese bereits zweimal eingesetzt, was auch funktioniert:
    PHP-Code:
    <body>
    <div align="center">
      <center>
      <table border="0" cellpadding="0" cellspacing="0" width="700" class="ad">
        <tr>
          <td class="logo_ad" height="30" colspan="2">Administrationsconsole</td>
        </tr>
        <tr>
          <td class="nav2_ad" height="19">&nbsp;</td>
          <td class="nav2_ad" height="19"><a <?php echo linkst($lang["sys"][1]); ?> href="setup.php?mod=basic&pid=user&pid2=edit&id=<?php echo $_SESSION["udid"]; ?>"><?php echo $lang["sys"][1]; ?></a>&nbsp;<a <?php echo linkst($lang["sys"][2]); ?> href="auth.php?pid=logout"><?php echo $lang["sys"][2]; ?></a>&nbsp;</td>
        </tr>
        <tr>
          <td valign="top" class="nav1_ad" width="162">
          <table border="0" cellpadding="0" cellspacing="0" width="100%" class="table_ad">
    Danach wird eine Sessionvariable initialisiert was mein Min-Maxi wie in der Windwosumgebung realisieren soll das sieht so aus:

    PHP-Code:
    <?php
    if(!session_is_registered("m_basic")) {
        
    session_register("m_basic");
        
    $_SESSION["m_basic"] = "min";
    } elseif(
    $_VAR["mbasic"] == "max") {
    $_SESSION["m_basic"] = "max";
    } elseif(
    $_VAR["mbasic"] == "min") {
    $_SESSION["m_basic"] = "min";
    }
    // print_r($_SESSION);
    // m_basic = min kommt stets vor
    Danach wird eine Tabellenzeile initialisiert welche dann jeweils den Wert der Bedingung annimmt: (gekürzt)

    PHP-Code:
    echo "
            <tr>
              <td class=\"nav0_ad\" width=\"100%\" height=\"29\">&nbsp;
    "
    ;
            if(
    $_SESSION["m_basic"] == "min") {
            echo 
    '
            <a '
    .linkst($lang["sys"][17]).'
            href="'
    .$_SERVER['PHP_SELF'].'?view_basic=max">(+) Basic</a></td>&nbsp;';
            echo
    "test geklappt";
            echo 
    "<br>".$lang["sys"][17];
            } 
    Diese werden dann durch diese Tags endgültig zugemacht:
    PHP-Code:
    echo "
              </td>
            </tr>
            <tr>
              <td class=\"nav1_ad\" width=\"100%\" height=\"9\"></td>
            </tr>
    "
    ;
    ?>
            </table>
          </td>
          <td class="main_ad" width="540" valign="top">
    <div align="center">
          <table border="0" width="95%" class="ad">
            <tr>
              <td width="100%"> 
    Das Problem ist der Link der bei true der Session Bedingung erscheinen soll kommt nicht, dagegen signalisiert mir das echo als auch ein ausgeben des $_Session Arrays das die bedingung abgearbeitet wird. Der Funktionsübergabewert ist auch vorhanden.

    Fehlermeldungen bekomme ich überhaupt keine es wird wie gesagt nur nicht angezeigt.
    Zuletzt geändert von Payne_of_Death; 15.06.2003, 17:01.
    [color=blue]MfG Payne_of_Death[/color]

    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
    [color=red]Merke:[/color]
    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

    Murphy`s Importanst LAWS
    Jede Lösung bringt nur neue Probleme
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

  • #2
    Hat die Variable $lang["sys"][17] überhaupt einen Wert (weil da, wo es funktioniert verwendest du 1 statt 17.
    hopka.net!

    Kommentar


    • #3
      Der Variableninhalt spielt keine Rolle, das ist nur ein Text

      Und ja alle Variablen sind schon deklariert
      [color=blue]MfG Payne_of_Death[/color]

      [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
      [color=red]Merke:[/color]
      [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

      Murphy`s Importanst LAWS
      Jede Lösung bringt nur neue Probleme
      Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
      In jedem kleinen Problem steckt ein großes, das gern raus moechte.

      Kommentar


      • #4
        Hat noch jemand eine Idee woran das liegen kann?
        [color=blue]MfG Payne_of_Death[/color]

        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
        [color=red]Merke:[/color]
        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

        Murphy`s Importanst LAWS
        Jede Lösung bringt nur neue Probleme
        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

        Kommentar


        • #5
          Re: derbes Problem

          Original geschrieben von Payne_of_Death
          PHP-Code:
          echo '
                  <a '
          .linkst($lang["sys"][17]).'
                  href="'
          .$_SERVER['PHP_SELF'].'?view_basic=max">(+) Basic</a></td>&nbsp;';
                  echo
          "test geklappt";
                  echo 
          "<br>".$lang["sys"][17];
                  } 
          Das Problem ist der Link der bei true der Session Bedingung erscheinen soll kommt nicht, dagegen signalisiert mir das echo als auch ein ausgeben des $_Session Arrays das die bedingung abgearbeitet wird. Der Funktionsübergabewert ist auch vorhanden.

          Fehlermeldungen bekomme ich überhaupt keine es wird wie gesagt nur nicht angezeigt.
          was der browser anzeigt, und was im quelltext steht, sind ja bekanntlich zwei verschiedene dinge.

          also, was steht im ausgegebenen html-quelltext?

          welchen inhalt soll linkst($lang["sys"][17]) haben?

          ich vermute einfach mal, dass da irgendwas schief läuft mit der erzeugung des links, dass dieser kein korrektes html ist und der browser ihn deshalb gar nicht anzeigt.

          <a '.linkst($lang["sys"][17]).'
          href="

          ich weiss nicht genau, wie echo auf zeilenumbrüche reagiert, werden diese beim ausgeben nicht ganz rausgekürzt?

          dann würde bei dir ja so etwas in der art rauskommen:
          <a '.linkst($lang["sys"][17]).'href="

          ergibt als htmlcode also
          <a INHALTVONLANGSYS17html="...">

          wenn inhalt von $lang["sys"][17] also nichtzufällig ein leerzeichen am ende enthält, wird der inhalt dieser variable und das nachfolgende href evtl. zusammengeschrieben, womit dann für den browser ein elementares attribut des <a>-tags, nämlich eben die zielangabe href, einfach 'fehlt'.
          und dann wird wohl nichts angezeigt ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X