28. oktober 2002 - 17:08Der er
27 kommentarer og 2 løsninger
URLén skal blive
Der skal vha. enten PHP eller evt. javascript dog helst PHP bibeholdes en URL som hedder eks. www.domain.dk PHP bliver brugt til at sende variabler rundt ved brug af ?var=result&varto=variabel2 hvilket vil resultere i en URL som kommer til at hedde www.domain.dk?var=result&varto=variabel2 Der skulle gerne bibeholdes den oprindelige URL dvs. www.domain.dk unden at variablerne som bliver sendt videre ikke bliver ødelagt. Frames er blevet overvejet som løsning, men URL skal helst bibeholdes uden brug af frames og variablerne kan ikke postes som $_POST og bliver nød til at blive sendt som ?var=2 for at gøre tingene lidt mere spændende ;o))
<frame name="nederst" src="<% if request.querystring("redi") = "forum_webpad" then %>bruger/forum/forumthreads.asp?forumid=10<% end if %><% if request.querystring("redi") = "" then %>forsiden.asp<% end if %>">
<noframes> <body>
<p>Denne side bruger rammer, men browseren understøtter dem ikke.</p>
det den gør er at den åbner din side i en frame, men du kan ikke se at den gøre det. Du vil ikke kunne se på dit design at den er lavet på denne måde. Jeg bruger det på min hjemmeside, www.zig-software.dk og der virker det kanont.
jow det kan det godt... prøv at tænke lidt over tingene... hvordan havde du tænkt dig at videresende dataer, hvis de ikke måtte stå i adresselinien? Det er jo det eneste data den næste side får.
du kan også gøre sådan så siden automatisk laver en header("Location: http://domæme"); ... hvor den inden har brugt variablerne til hvad den skulle.
Hvis du ikke vil bruge frames til at skjule url'en, kan du i stedet bruge overføre data vha. post eller get - get er ikke en mulighed da du her kan se variablene og post vil du ikke. Så er der sessions og cookies tilbage og det bliver vist noget værre l*** ...
Fordi jeg lige som tingene er lige nu har opstillet det mht. <A HREF='?menu=<? echo $nr; ?>'> noget lign hvor $nr er et nummer hentet fra en database og derfor kun har sat det op som links. Kunne godt sendes med POST, men det kan jeg godt selv stille op som det er lige nu og derfor vil hellere lige se mulighederne for hhv. sessions og frames, derfor.
Jeg er opmærksom på at jeg ikke behøver sessions hvis jeg omskriver dit ASP / HTML Frames sjov, men tænkte mere mht. bare for interessens skyld hvordan ser det ud hvis jeg skulle sætte dem op med mht. sessions?
Okay så kommer jeg med et andet spørgsmål så svar på den så får du de 120 points fun
Hvorfor bliver sesid sendt videre første gang den kører det her script?
<? session_start(); require("connectdb.php"); if(isset($menu)){ $frommenu = MySQL_FETCH_ARRAY(MySQL_QUERY("SELECT * FROM menu WHERE menu='$menu'")) or die("<SPAN CLASS=error>Error in ".__FILE__." - line ".__LINE__."<BR>Reason: ".mysql_error()."</SPAN>"); } else { header("Location: index.php?menu=9"); } if((isset($_POST[username]))&&(isset($_POST[userpassword]))){ $frombrugere= MySQL_QUERY("SELECT * FROM brugere WHERE loginname='$_POST[username]' AND loginpassword='$_POST[userpassword]'") or die("<SPAN CLASS=error>Error in ".__FILE__." - line ".__LINE__."<BR>Reason: ".mysql_error()."</SPAN>"); $result = @MySQL_FETCH_ARRAY($frombrugere); MySQL_NUM_ROWS($frombrugere)?$priv=trim($result[priv]):$priv=0; } else { if(!isset($priv)){ $priv=0; } } session_register('priv'); $_SESSION[priv] = $priv; if(is_int($menu)) die("<SPAN CLASS=error>Error in ".__FILE__." - line ".__LINE__."</SPAN>"); if(isset($_SESSION[priv])){ if($_SESSION[priv]<$frommenu[priv]){ die("Adgang forbeholdt admins"); } } else { die("Sessions bliver desværre ikke understøttet du kan ikke få adgang til siden."); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.