Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14

Discussione: Ciclo for per una form

  1. #11
    Facendo:

    $CategoriaAdmin = trim($_POST['CategoriaAdmin$a']);
    $PosizioneAdmin = trim($_POST['PosizioneAdmin$a']);

    la pagina non va in errore, ma facendo un echo della query esce:

    UPDATE Categorie SET Titolo='', Posizione='' WHERE ID = '1'

    poi continua il ciclo fino al totale, ma in pratica le variabili sono vuote.

  2. #12
    Ecco il tutto rivisto, corretto e funzionante:
    Codice PHP:
    //Inizio ciclo per contare le categoria
    $query "SELECT * FROM Categorie";
    $result mysql_query($query$db);
    $Categorie_Trovate mysql_num_rows($result);

    for (
    $a $a <=$Categorie_Trovate $a++) { 

    //Verifica i dati della form
    $CategoriaAdmin trim($_POST['CategoriaAdmin'.$a]);
    $PosizioneAdmin trim($_POST['PosizioneAdmin'.$a]);
    //Converte i caratteri speciali
    $CategoriaAdmin htmlspecialchars($CategoriaAdmin);
    $CategoriaAdmin addslashes($CategoriaAdmin);
    //Controlla che i campi obbligatori siano compilati
    if ($CategoriaAdmin=="" OR is_numeric($PosizioneAdmin)==false) {

    $controllo false;

    break;

    } else {

    $controllo true;

    //Modifica le categorie
    $query "UPDATE Categorie SET Titolo='$CategoriaAdmin', Posizione='$PosizioneAdmin' WHERE ID = '$a'";
    $result mysql_query($query$db);

    }
    }

    if (
    $controllo==false) {
    $avviso "

    Ci sono dei campi vuoti o errati



    <a href=\"javascript:history.back()\"><img src=\"images/indietro.gif\" alt=\"Indietro\" title=\"Indietro\" border=\"0\" /></a>"
    ;
    } else {
    $avviso "

    <script language=\"javascript\">
    function vai_a() {
    document.location.href=\"pag.php?Pag=admin_categorie\";
    }
    setTimeout(\"vai_a()\", 2000);
    </script>
    Categoria inserita correttamente, <a href=\"pag.php?Pag=admin_categorie\">clicca qui</a>"
    ;


  3. #13
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    nella prima pagina

    echo "<tr>
    <td align=\"left\"><input name=\"CategoriaAdmin$ID_CategoriaAdmin\" type=\"text\" size=\"30\" maxlength=\"20\" value=\"$CategoriaAdmin\" /></td>
    <td><input name=\"PosizioneAdmin$ID_CategoriaAdmin\" type=\"text\" size=\"2\" maxlength=\"255\" value=\"$PosizioneAdmin\" /></td>
    </tr>
    ";

    negli input name a mio parere ti converrebbe utilizzare

    echo "<tr>
    <td align=\"left\"><input name=\"CategoriaAdmin[$ID_CategoriaAdmin]\" type=\"text\" size=\"30\" maxlength=\"20\" value=\"$CategoriaAdmin\" /></td>
    <td><input name=\"PosizioneAdmin[$ID_CategoriaAdmin]\" type=\"text\" size=\"2\" maxlength=\"255\" value=\"$PosizioneAdmin\" /></td>
    </tr>
    ";

    in questa maniera avresti da gestire un array anzichè delle variabili composte come hai tu.
    Non dico che il tuo metodo sia sbagliato percarità, però è piu complesso da gestire in caso di errori.

    Nella seconda pagina invece al posto di (ma non posto tutto il codice)

    for ($a = 1 ; $a <=$row["$Categorie_Trovate"] ; $a++) {

    //Verifica i dati della form
    $CategoriaAdmin$a = trim($_POST['CategoriaAdmin$a']);
    $PosizioneAdmin$a = trim($_POST['PosizioneAdmin$a']);
    //Converte i caratteri speciali
    $CategoriaAdmin$a = htmlspecialchars($CategoriaAdmin$a);
    $CategoriaAdmin$a = addslashes($CategoriaAdmin$a);

    //Controlla che i campi obbligatori siano compilati
    if ($CategoriaAdmin$a=="" OR is_numeric($PosizioneAdmin$a)==false) {
    $controllo = false;

    ecc.....

    metterei


    foreach ($CategoriaAdmin as $key=>$cat) {

    $pos=trim($PosizioneAdmin[$key]);
    $cat = addslashes(htmlspecialchars(trim($cat)));



    //Controlla che i campi obbligatori siano compilati
    if ($Cat=="" OR is_numeric($Pos)==false) {
    $controllo = false;


    non l'ho testa ma anche se ci sono dei problemi spero che tu capisca la mia idea, e che non ti scombussoli tutto....
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #14
    Meglio non rischiare
    Grazie comunque

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 © 2026 vBulletin Solutions, Inc. All rights reserved.