Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    $_POST in più form nella stessa pagina

    Chiedo aiuto per una questione che non riesco a risolvere.
    Ho un database, lo leggo ed elenco i dati presenti con un check box per poter scegliere quale record modificare.
    Seleziono il record e premo sul tasto invia e mi propone nella stessa pagina il record con i dati da modificare, modifico i dati e premo su modifica e torna alla visualizzazione di tutti i record senza aver effettuato alcuna modifica.
    La modifica se la esegue senza passare dalla selezione precedente funziona perfettamente.
    Questa è il codice della funzione

    Codice PHP:
    <?php function wll_wc_reg_admin() {
         if (
    array_key_exists('_submit_check'$_POST)) {
            global 
    $wpdb;
            
    $id_i $_POST['id'];
            
    $users_mod $wpdb->get_results("SELECT * FROM $wpdb->wollyreg WHERE id = '$id_i' ");
            foreach(
    $users_mod as $reg) {
             
    ?>
    <form action="" method="post">
    <table border="0" cellspacing="1" cellpadding="3" 
           bgcolor="#353535" align="center">
      <tr>
        <td bgcolor="#FFFFFF" width="50%">Nome (obbligatorio)</td>
        <td bgcolor="#FFFFFF" width="50%">
        <input type="text" name="nome" value="<?php echo $reg->nome?>" >
        </td>
      </tr>
       <tr>
        <td bgcolor="#FFFFFF" width="50%">Cognome (obbligatorio)</td>
        <td bgcolor="#FFFFFF" width="50%">
        <input type="text" name="cognome" value="<?php echo $reg->cognome?>" >
        </td>
      </tr>
      <tr>
        <td bgcolor="#FFFFFF" width="50%">Nickname </td>
        <td bgcolor="#FFFFFF" width="50%">
        <input type="text" name="nickname" value="<?php echo $reg->nickname?>" >
       </tr>
       <tr>
        <td bgcolor="#FFFFFF" width="50%">email (obbligatorio)</td>
        <td bgcolor="#FFFFFF" width="50%">
        <input type="text" name="email" value="<?php echo $reg->email?>" >
        </td>
      <tr>
        <td bgcolor="#FFFFFF" width="50%">Sito Web</td>
        <td bgcolor="#FFFFFF" width="50%">
        <input type="text" name="url" value="<?php echo $reg->url?>" >
        </td>
      <tr>
      <?php 
        $partecipo_a
    $reg->partecipo;
        echo 
    $partecipo_a;
        if (
    $partecipo_a ) {
          
    $partecipo0="checked >";
          
    $partecipo1=">";
          
    $partecipo2=">";
      } if (
    $partecipo_a ){
          
    $partecipo0=">";
          
    $partecipo1="checked >";
          
    $partecipo2=">";
      } if (
    $partecipo_a ) {
          
    $partecipo0=">";
          
    $partecipo1=">";
          
    $partecipo2="checked >";
      }
           
      
    ?>
        <td bgcolor="#FFFFFF">Gestisci la tua iscrizione (obbligatorio)</td>
        <td bgcolor="#FFFFFF">
          <input type="radio" name="iscrizione" value="0" <?php echo $partecipo0?>
          Non partecipo 

          <input type="radio" name="iscrizione" value="1" <?php echo $partecipo1?>
          Forse partecipo 

          <input type="radio" name="iscrizione" value="2" <?php echo $partecipo2?> 
          Ci sarò senza alcun dubbio!

        </td>
      </tr> 
      <?php ?>
     <tr>
     <input type="hidden" name="controllo_invio" value="1"/> 
     <input type="hidden" name="required" value="nome,cognome,email,iscrizione">
        <td bgcolor="#FFFFFF" colspan=2 align="center">
          <input type="submit" name="Submit" value="Modifica"> 
        </td>
      </tr>
    </table>
    </form>
    <?php if (!array_key_exists('controllo_invio'$_REQUEST)) {
        echo 
    "nulla di nulla";
        
    print_r($_REQUEST);
                      } else {
    global 
    $wpdb;
                      
    $time_i =  time() ;
                      
    $nome_i $_REQUEST['nome'];
                      
    $cognome_i $_REQUEST['cognome'] ;
                      
    $nickname_i $_REQUEST['nickname'];
                      
    $email_i =  $_REQUEST['email'];
                      
    $url_i =  $_REQUEST['url'];
                      
    $iscrizione_i =  $_REQUEST['iscrizione'];
                      echo 
    $time_i;
                      echo 
    $nome_i;
                      echo 
    "nulla";
    echo 
    $time_i;
    echo 
    $nome_i;
    echo 
    "nulla ancora";
    print_r($_POST);
                      }
                      
    ?>
    <?php
     

                    
        
    } else {
        global 
    $wpdb;
        
    $regs $wpdb->get_results("SELECT * FROM $wpdb->wollyreg");
        
    ?>
        <table border="0" cellspacing="1" cellpadding="3" 
           bgcolor="#353535" align="center">
           <form action="" method="post">
           <tr>
        <td bgcolor="#FFFFFF" width="5%">ID</td>
        <td bgcolor="#FFFFFF" width="60%">utente</td>
        <td bgcolor="#FFFFFF" width="35%">email</td>
        
          </tr>
           <?php
        
    foreach($regs as $reg) {
            
    $nomecognome $reg->nome " " $reg->cognome ;?>
            
       
      <tr>
         
         <td bgcolor="#FFFFFF" width="5%">
          <input type="radio" name="id" value="<?php echo $reg->id?>" >
          </td>
            <td bgcolor="#FFFFFF" width="60%"><?php echo $nomecognome?></td>
       
        <td bgcolor="#FFFFFF" width="35%"><?php echo $reg->email?></td>
        

      </tr>
       
     <?php
                    
        
    }
        
    ?>
        <input type="hidden" name="_submit_check" value="1"/> 
     <input type="hidden" name="required" value="id">
        <td bgcolor="#FFFFFF" colspan=3 align="center">
          <input type="submit" name="Submit" value="Invia"> 
        </td>
      </tr>
    </table>
    </form>
    <?php
        
    }
    }
    ?>
    Lo script funziona in un template di pagina di WordPress e ha destinazione self, se lo spezzo su più pagine funziona.

    Grazie in anticipo a chi mi aiuterà.

  2. #2
    Ho risolto eliminando il ciclo if e sostituendono con un ciclo switch.

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da wolly66
    Ho risolto eliminando il ciclo if e sostituendono con un ciclo switch.
    è gia in più di un post che leggo ciclo if, l'if non è un ciclo e tanto meno lo switch, sono solo strutture di controllo del programma ^_^

  4. #4

  5. #5
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    A voler essere proprio pignoli pignoli, è una istruzione di selezione realizzata per mezzo di un costrutto (ma ce ne sono molti) appartenente alle strutture di controllo [del flusso di esecuzione] come lo sono anche for, while, foreach, switch e tante altre.

    Le strutture di controllo sono tipiche dei linguaggi per la programmazione strutturata, tra i quali c'è anche PHP, ovvero quei linguaggi che mettono a disposizione quei costrutti sintattici tali da rendere inutile l'utilizzo di istruzioni di salto incondizionato. Tale insieme minimo di costrutti sintattici è dato proprio dalla sequenza, selezione (cui appartiene if detta anche istruzione condizionale) e dalla iteratzione o ciclo (cui appartiene il while).

    Dato che per costrutto si intende un insieme opportunamente ordinato di sintagmi, possiamo dire che il costrutto condizionale, operato per mezzo dell'istruzione if, per essere tale deve presentare una condizione (primo sintagma) e uno o due rami (secondo sintagma cui può seguire un terzo opzionale), all'interno dei quali procederà l'esecuzione del programma a seconda che la condizione risulti verificata o non verificata.



    Diciamo quindi che if è una selezione o istruzione condizionale o istruzione if o semplicemente if
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

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.