Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Variabile nella variabile

    Ciao a tutti.
    Mi trovo di fronte ad un annoso problema:
    Ho un file che installa uno script inserendo variabili in un file di configurazione(config.php). Il file utilizza il ciclo for per inserire tante variabili quante desidera l'utente. Dunque mi trovo nel file config.php in caso di 4 campi scelti dall'utente 4 variabili. Passo anche una ulteriore variabile che serve per dire alla pagina il numero scelto dall'utente!
    codice:
    $campo1 = 'aaaaa';
    $campo2 = 'aaaaas';
    $campo3 = 'aaaaass';
    $campo4 = 'aaaaada';
    $ins = '4';
    Ora, qui sta il problema.
    In un'altra pagina php io includo il file config.php.
    Ora, sempre grazie all'utilizzo di for() vorrei creare tanti <input type> quanti dice $ins e vorrei che di fianco a ciascuno di essi compaia il valore della variabile precedentemente definito dall'utente. Ho dunque scritto questo:
    <?php
    $campo = "$campo";
    for($n3 == 1; $n3 <= $ins; $n3++){
    $b = "$campo" . "$n3";
    echo "<label>$b</label>\n";
    }
    ?>
    Il dramma è che ovviamente php non riesce a elaborare la variabile e dunque stampa:
    codice:
    <label></label>
    <label>1</label>
    <label>2</label>
    <label>3</label>
    <label>4</label>
    Come posso fare in modo di creare una variabile $campo1(incrementato * $ins) e che php la trasformi nel valore in echo?

    Spero di essere stato chiaro...
    Grazie.....

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Ti consiglio di cambiare metodo, usa gli array.

    codice:
    $campo=array();
    $campo[] = 'aaaaa';
    $campo[] = 'aaaaas';
    $campo[] = 'aaaaass';
    $campo[] = 'aaaaada';

    codice:
    <?php
    foreach($campo as $b){ 
    echo '<label>',$b,'</label>\n'; 
    } 
    ?>

  3. #3
    Scusa, ma non conosco foreach.
    Che fa?

    Non amo gli array!!!!

  4. #4
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Originariamente inviato da lorenzos
    Scusa, ma non conosco foreach.
    Che fa?
    http://it.php.net/manual/it/control-...es.foreach.php


    Originariamente inviato da lorenzos
    Non amo gli array!!!!
    Se vuoi complicarti la vita non usarli mai

  5. #5
    Dunque, il pezzo del file che genera le variabile recita:
    codice:
    if(isset($_POST['post2'])) {
    	$ins = $_POST['ins'];
    	for ($num2 = 1; $num2 <= $ins; $num2++){
    		$campo = $_POST[campo.$num2];
    		$a .= "\$campo$num2 = '$campo';\n";
    		$num3 = "\$ins = '$num2';\n";
    		}
    		$c = "<?php\n$a$num3?>";
    		$handle = fopen("../config.php", 'w+');
    		$crea = fwrite($handle, $c);
    Come lo trasformeresti per usare array?

  6. #6
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    La variabile post campo da dove viene?

  7. #7
    $campo = $_POST[campo.$num2];

    Non capisco la domanda. Se ti riferisci a questa arriva da una pagina dove gli utenti scelgono il numero di campi che vogliono e assegnano il valore ad ognuno di essi.

    codice:
    for ($num = 1; $num <= $ins; $num++){
    		echo "<label>Inserisci il nome del campo $num:</label><input type='text' name='campo$num' value=''>\n";
    		}
    	echo "<input type='hidden' value='$ins' name='ins'>";
    	echo "<label></label><input class='1' type='submit' name='submit2' value='Conferma'>";
    	}

  8. #8
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    E' proprio da li che devi iniziare:

    codice:
    for ($num = 1; $num <= $ins; $num++){
    ?>
    <label>Inserisci il nome del campo <? echo $num; ?>:</label>
    <?
    <input type='text' name='campo[<? echo $num; ?>]'  value=''>\n
    }
    echo "<input type='hidden' value='$ins' name='ins'>";
    echo "<label></label><input class='1' type='submit' name='submit2' value='Conferma'>";
    Poi la ritrovi così:

    codice:
    $campo=$_POST['campo'];
    for ($num2 = 1; $num2 <= $ins; $num2++){
    echo $campo[$num2];
    }

  9. #9
    No aspetta, io posso modificare anche questo:
    codice:
    <input type='text' name='campo[<? echo $num; ?>]'  value=''>\n
    ,
    ma poi devo anche modificare quello che me lo scrive nel file config...

    codice:
    for ($num2 = 1; $num2 <= $ins; $num2++){
    		$campo = $_POST[campo.$num2];
    		$a .= "\$campo$num2 = '$campo';\n";
    		$num3 = "\$ins = '$num2';\n";
    		}
    		$c = "<?php\n$a$num3?>";
    		$handle = fopen("../config.php", 'w+');
    		$crea = fwrite($handle, $c);

  10. #10
    Scusate se tedio, ma appurato che non riesco a usare i cicli, l'unica che mi viene e fare così:
    codice:
    if($campo1 != ""){
    	echo "<label>$campo1</label><input type='text' name='$campo1' value='' />";
    	}
    if($campo2 != ""){
    	echo "<label>$campo2</label><input type='text' name='$campo2' value='' />";
    	}
    Fino a $campo15 che il numero massimo di campi impostabile.

    Nessuno sa aiutarmi con i cicli?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.