php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
derbes Problem


 
Payne_of_Death
15-06-2003, 17:59 
 
Ich habe eine externe Funktion die lautet:


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:

<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
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)


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:

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.

 
Hopka
15-06-2003, 18:48 
 
Hat die Variable $lang["sys"][17] überhaupt einen Wert (weil da, wo es funktioniert verwendest du 1 statt 17.

 
Payne_of_Death
15-06-2003, 19:09 
 
Der Variableninhalt spielt keine Rolle, das ist nur ein Text

Und ja alle Variablen sind schon deklariert

 
Payne_of_Death
15-06-2003, 20:40 
 
Hat noch jemand eine Idee woran das liegen kann?

 
wahsaga
16-06-2003, 11:16 
 
Original geschrieben von Payne_of_Death
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 ...


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:39 Uhr.