webForumDet fria alternativet

Skicka en variabel till en funktion

PHP

1 svar · 227 visningar · startad av Pedda

Medlem sedan juni 20006 031 inlägg
Frågan#1

Hur funkar egentligen funktioner? Har testat detta:

function Confirm() {
	echo "<center><b>Are you sure you want to delete $files?</b><br>";
	echo "[<a href=\"upload.php?Delete=$files\">Yes</a>] [<a href=\"upload.php\">No</a>]</center><p>";
}

Men då har $files plötsligt inget värde. Variabeln skickas med en vanlig länk upload.php?func=Confirm&$files och innehåller då ett värde.

Medlem sedan aug. 20002 975 inlägg
#2

Variabler inne i funktioner är lokala (gäller endast inne i funktionen).

Vill du skicka in ett variabelvärde utifrån så är, vad jag anser, det bästa sättet att skicka in det via variabelhuvudet.

// Funktionen:
function Confirm($files) {
  // innehållet i funktionen
}

// Kalla på funktionen:
Confirm($files);

Du har också möjlighet att globaldeklarera i funktionen. Det inne bär att du gör variabler globala utanför funktionen:

function Confirm() {
  global $files;
  // innehållet i funktionen
}

Variabler i de associativa arrayerna $_POST, $_GET, $_COOKIE, $_SESSION och $_SERVER är superglobala och behöver därför inte globaldeklareras, de når in i funktionen iallafall.

Sen, är egentligen din länk som den ska? Ska den inte vara något på det här hållet:

upload.php?func=Confirm&files=$files
261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)