webForumDet fria alternativet

Sträng

6 svar · 236 visningar · startad av mhedda

mheddaMedlem sedan feb. 2000385 inlägg
#1

Hej på er!
Äntligen så kommer jag åt detta eminenta forum igen..
Ett litet problem har jag också. Det är nämligen så att jag har gjort en länk som skickar ett värde till en switchsatts som utför en funktion beroende på vad man hänger på för värde. Inget avancerat.
Men problemet är att det funkar hemma men inte på min dator på kursen. Jag har apache för windows Och php-4.1.1
på båda datorerna. På kursdatorn skickar den inte värdet..
Jag provade att sätta $action till forum på index sidan. Då funkade det så det verkar allså som att felet är att den inte skickar med värdet.
Länken ser ut så här.

<a href='$PHP_SELF?action=form'>Anslagstavlan</a>

Och den tas imot av switch sattsen


switch($action)
{
	case form:
		whiteboard_form();
		break;

	case add_whiteboard:
		addToWhiteboard($contents);
		break;

	default:
		//whiteboard_form();

		break;

}

Men det är kanske ointressant att titta på koden eftersom den funkar, men inte på båda datorerna.
Hoppas det är någon som kanske haft samma problem som vet vad det är för fel..

ByBy mhedda

SPiNMedlem sedan mars 20005 832 inlägg
#2

Sätt " runt dina värden som du vill jämföra mot, så att de behandlas som strängar. I de flesta språk kan man inte använda strängar i switch-case, men PHP verkar tillåta det. :)

Alltså:

switch($action) {
     case "form":
          whiteboard_form();
          break;
          ...
mheddaMedlem sedan feb. 2000385 inlägg
#3

Tack men tyvärr!!

Tack SPIN!
Men den verkar inte skicka det man hänger på strängen i detta fall forum.
Men som sagt det funkar hemma.
Så det verkar vara miljön som jag sitter i, men vad jag kan se så ser den likadann ut. Förutom att jag laddade ner apachen och konfigurerade om den för php. Så jag tänkte om det kan vara någe sånt.
Well I don't know..
ByBy Hedda

SPiNMedlem sedan mars 20005 832 inlägg
#4

Det kanske beror på hur PHP är inställt? Du anropar $action, kanske det går bättre med de globala associativa arrayerna? ( $_GET[ 'action' ] )

Prova det! :)

mheddaMedlem sedan feb. 2000385 inlägg
#5

Tackar så mycket!

:P
Tack så väldigt väldigt mycket SPIN..
Det där hade jag inte kommit på.
Nyfiken var någonstans i php är detta inställt.
ByByHedda

SPiNMedlem sedan mars 20005 832 inlägg
#6

Det ställer man in i PHP.ini, under register_globals. Är den avstängd ( satt till false ) så kommer man bara åt utomstående variabler ( GET, POST, SESSION, COOKIE ) med de globala associativa arrayerna. Om de nu är tillgängliga... Det finns en möjlighet att välja track_vars också, till på eller av. Är den av kommer man inte åt GET, POST, osv, med de globala associativa arrayerna. Från och med PHP 4.0.3 är track_vars alltid på. :)

mheddaMedlem sedan feb. 2000385 inlägg
#7

register_globals

Tack för mini kursen!
Då har man lärt sig något idag också :-)
ByByMats

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb