J jboy_87 Medlem sedan aug. 2001 1 099 inlägg Frågan 16 juni 2003 14:14 #1 Någon som kan kan?
Function lank1(bytText)
bytText = Replace(bytText,"/","")
bytText = Replace(bytText,"medlem_","")
bytText = Replace(bytText,"las","")
lank1 = bytText
end function
Select Case lank1(Request.ServerVariables("SCRIPT_NAME"))
Case "djiwateplanket.asp"
Call humor
Call senasteinloggade
Call snabbsok
Case "snyggast.asp"
Call senasteinloggade
Call dinapoang
Call snabbsok
Case "affaren.asp"
Call humor
Call poanglista
Call dinapoang
Call snabbsok
Case else
Call omrostning
Call horoskop
Call kalendarium
end select
K K@llen Medlem sedan mars 2003 2 667 inlägg Du kan säkert själv om du tittar på följande funktion:
str_replace()
http://se2.php.net/manual/en/function.str-replace.php
Samt hur en switch fungerar:
http://se2.php.net/manual/en/control-structures.switch.php
och för att ta fram sidan i adressraden
$_SERVER['PHP_SELF'];
/R missade två fnuttar precis som matte påpekade längre ner. ;)
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg hur anropar jag från en switch typ
Call bla bla'
Sub blabla()
end sub
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg är nybörjare så det e lite svårt för mig :birp
K K@llen Medlem sedan mars 2003 2 667 inlägg PHP har inga subrutiner. En subrutin är en funktion som inte ger något returvärde.
//funktion med returvärde
function myFunc() {
$myVar = 1;
return $myVar;
}
//funktion utan returvärde
function myFunc() {
print $myVar;
}
//anropa funktion 1
$test = myFunc();
//anropa funktion 2
myFunc();
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg kommer inte längre än sä här!
<?php
$lank = $_SERVER[PHP_SELF]
switch (@$i == $lank){
Case "/main.php":
omrostning();
case "/kompisar.php":
omrostning();
case "/main.php":
omrostning();
}
?>
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg löste det så här!
<?php
switch (@$_SERVER[PHP_SELF]){
Case "/main.php":
omrostning();
break;
case "/kompisar.php":
omrostning();
break;
case "/test.php":
omrostning();
break;
}
?>
Matte Medlem sedan aug. 2000 2 975 inlägg Lägg dit några fnuttar inom hakparentesen så slipper du stoppa visning av notiser/felmeddelanden:
switch ($_SERVER['PHP_SELF']){
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg nu återstår bara replacen?
$string str_replace("/", "", $string);
$string str_replace("medlem_", "", $string);
switch string($_SERVER['PHP_SELF'])){
Matte Medlem sedan aug. 2000 2 975 inlägg $string = str_replace("/", "", $string);
$string = str_replace("medlem_", "", $string);
switch ($_SERVER['PHP_SELF']){
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg nu hänger jag inte med? den påverkar väll inte $_SERVER['PHP_SELF'] ??
Matte Medlem sedan aug. 2000 2 975 inlägg Din egen kod:
<?php
switch ($_SERVER['PHP_SELF']){
Case "/main.php":
omrostning();
break;
case "/kompisar.php":
omrostning();
break;
case "/test.php":
omrostning();
break;
}
?>
Raderna över har inget med den att göra.
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg jag vill ju replaca i $_SERVER['PHP_SELF'] ta bort / osv..!
S Sebbe Medlem sedan jan. 2003 2 285 inlägg Jag är ju ingen direkt höjdare i PHP, men borde det inte vara såhär?
$string = $_SERVER['PHP_SELF'];
$string = str_replace("/", "", $string);
$string = str_replace("medlem_", "", $string);
switch ($string){
K K@llen Medlem sedan mars 2003 2 667 inlägg Gör en funktion precis som du gjort i ASP. Du har ju alla delar du behöver i mattes och mina svar ovan.
Matte Medlem sedan aug. 2000 2 975 inlägg Jag kan inte ASP och förstår därför inte vad du försöker göra med din funktion.
Men kanske ändå. En ren gissning.
Du har adresser som /las/test.php eller /medlem_/kompisar.php. Ur detta vill du ha ut test.php respektive kompisar.php och beronde på värdet så kör du olika funktioner. I såfall finns det en inbyggd funktion för det i PHP:
<?php
// Hämtar filnamnet ur $_SERVER['PHP_SELF']
$PHP_SELF = basename($_SERVER['PHP_SELF']);
switch ($PHP_SELF){
Case "main.php":
omrostning();
break;
case "kompisar.php":
omrostning();
break;
case "test.php":
omrostning();
break;
}
?>
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg gjorde så här
$string = $_SERVER['PHP_SELF'];
$string = str_replace("/", "", $string);
$string = str_replace("medlem_", "", $string);
switch ($string){
det funkar men nu har jag fått ett annat problem?
default värkar inte funka?
Case "/test.php":
omrostning();
break;
default:
omrostning();
horoskop();
kalendarium();
break;
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg Parse error: parse error, unexpected T_DEFAULT in c:\inetpub\wwwroot\meny2.php on line 139
J jboy_87 Medlem sedan aug. 2001 1 099 inlägg i vb ser det ut så här
Case else
Call omrostning
Call horoskop
Call kalendarium