Si, ma solo perché l'array l'hai messo all'interno di una stringa. Altrimenti gli apici all'indice vanno sempre messi a meno che l'indice stesso non è una var.le: in tal caso non vanno messi.
Es.
$prova[$mio_indice]
qui gli apici non vanno messi.
E, comunque quando usi una var.le in una stringa se usi la dicitura che ti ho suggerito, non avrai problemi:
header("location:" . $_SERVER['PHP_SELF'] . "?id=$id&msg=" . $messaggio);

Rispondi quotando