Mi sono imbattuto in questo quando eseguo moduli ajax dove includo più insiemi di campi. Prendendo ad esempio una domanda di lavoro. Inizio con un set di riferimento professionale e ho un pulsante che dice "Aggiungi altro". Questo fa una chiamata AJAX con un parametro di conteggio $ per includere l'ingresso impostare di nuovo (nome, contatti, telefono .. ecc) Ciò funziona benissimo in prima convocazione la pagina come faccio qualcosa di simile: preme
<?php
include('references.php');`
?>
utente un pulsante che fa una chiamata AJAX ajax('references.php?count=1');
Poi all'interno del file references.php ho qualcosa di simile:
<?php
$count = isset($_GET['count']) ? $_GET['count'] : 0;
?>
ho anche altre dinamica comprende come questo in tutto il sito che passano i parametri. Il problema si verifica quando l'utente preme Invia e si verifica un errore di modulo. Quindi ora non duplicare il codice per includere quei set di campi extra che, se inclusi dinamicamente, ho creato una funzione che imposterà l'inclusione con i parametri GET appropriati.
<?php
function include_get_params($file) {
$parts = explode('?', $file);
if (isset($parts[1])) {
parse_str($parts[1], $output);
foreach ($output as $key => $value) {
$_GET[$key] = $value;
}
}
include($parts[0]);
}
?>
La funzione controlla i parametri di query e li aggiunge automaticamente alla variabile $ _GET. Questo ha funzionato abbastanza bene per i miei casi d'uso.
Ecco un esempio sulla pagina di modulo quando chiamato:
<?php
// We check for a total of 12
for ($i=0; $i<12; $i++) {
if (isset($_POST['references_name_'.$i]) && !empty($_POST['references_name_'.$i])) {
include_get_params(DIR .'references.php?count='. $i);
} else {
break;
}
}
?>
Solo un altro esempio di includere GET params dinamicamente per ospitare alcuni casi d'uso. Spero che questo ti aiuti. Si prega di notare che questo codice non è nel suo stato completo, ma questo dovrebbe essere sufficiente per far iniziare chiunque prima del suo uso.
Cosa fa effettivamente myFile.php nel tuo caso? A meno che tu non richieda l'inclusione su HTTP, non puoi aggiungere parametri al nome del file, ma potresti influenzarne il comportamento tramite una variabile globale di qualche tipo. –