Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Due form in una pagina

  1. #1

    Due form in una pagina

    Ciao a tutti!
    sto diventando pazzo su un problema: ho una pagina con due form, uno e' composto da una select l'altro da una textarea e un pulsante; il primo si submitta con un javascript (OnChange ecc.ecc.), e ho strutturato la pagina cosi' in modo che selezionando un valore dalla select nella textarea appaia il testo che corrisponde al valore della select, che puo' essere modificato e submesso con il pulsante (c'e' dietro un DB).
    Ora, funziona tutto, se non altro che il secondo form, con qualunque combinazione di GET e POST con il primo form, mi va sempre e solo in GET, anche se lo setto in POST!!!!!
    e questo non e' affatto simpatico, perche' nella textarea ci vanno kb e kb di testo, e oltre a rendere i link sul browser delle vere e proprie allucinazioni ho paura che possa sforare il buffer del GET!

    qualcuno ha idea del motivo o conosce una soluzione?
    o magari anche un altro mdo di vedere il problema e mi indica un sistema alternativo x fare la stessa funzione

    ciao a tutti e buon lavoro!
    teo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    E' un po' fatica risolvere il problema senza dare un'occhiata al codice.

  3. #3
    ti postero' tutto il codice della pagina, ma cmq il problema NON e' il codice, che funziona egreggiamente; il problema e' che sembra che il browser si disinteressi totalmente del fatto che il secondo form sia settato in POST, e lo setta arbitrariamente a GET, passandomi tutto quello che scrivo nella textarea sulla barra degli indirizz, cioe' nel buffer del GET...
    eccoti il codice della pagina cmq:

    codice:
    <?php
      require('configure.php');
      require('functions.php');
      require('top.php');
    
      //salva gli id e i nomi delle pagine in un array
      $pagine_array[] = array ( 'id' => '0',
                                'text' => 'Seleziona...');
    
      $pagine_query = mysql_query('SELECT id, nome_pagina, testo FROM pagine_dinamiche WHERE 1 ORDER BY id');
      while ($pagine = mysql_fetch_array($pagine_query)) {
            $pagine_array[] = array ( 'id' => $pagine['id'],
                                      'text' => $pagine['nome_pagina']);
      }
    ?>
    
    <html>
    <head>
    <title>XXXXXXXXXXXXXXX - Area Riservata</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" href="normal.css" type="text/css">
    </head>
    
    <body bgcolor="#FFFFFF" text="#000000">
    <div align="center"><span class="titoli">Aggiornamenti del Sito</span>
      <?php
    
    
      if ($_POST['Save']=='Aggiorna')
      {
          $update_query = mysql_query('UPDATE pagine_dinamiche SET testo = "' . mysql_escape_string($_POST['page_text']) . '" where id = "'. $_POST['pagina'] .'"');
      }
    
      if (isset($_POST['pagina'])) {
          $sql_query = mysql_query('SELECT testo FROM pagine_dinamiche WHERE id = "' . $_POST['pagina'] . '"' );
          $row = mysql_fetch_array($sql_query);
      }
    ?>
      
    
    </div>
    <div class="Title"></div>
    
    
    <table width="98%" align="center" border="0" cellpadding="0" cellspacing="0">
    <form name="select_form" method="post" action="">
    
    <tr>
          <td class="testonormale">Seleziona la Pagina da Modificare
            <?php echo draw_pull_down_menu('pagina', $pagine_array, '', 'onChange="document.forms[0].submit()"'); ?>
          </td>
    </tr>
    </form>
    <form name="pagina_form" metod="post" action="">
    <tr>
      <td><textarea name="page_text" cols="100" rows="22"><?php echo stripslashes($row['testo']); ?></textarea></td>
    </tr>
    <tr>
      <td colspan="2"></td>
    </tr>
    <tr>
      <td><?php echo '<input type="hidden" name="pagina" value="' . $_POST['pagina'] .'">'; ?>
          <input type="submit" name="Save" value="Aggiorna" style="width: 140px">
      </td>
      <td align="left"></td>
      <td></td>
    </tr>
    <tr>
      <td colspan="2"></td>
    </tr>
    </form>
    </table>
    </body>
    </html>
    idee?
    ciao, teo

  4. #4
    ah, dimenticavo: in questo modo la pagina non funziona, perche' col php chiedo la variabile che sta nell'array $_POST, cioe' $_POST['page_text'], ma in quell'array questa variabile NON C'E'! Si trova invece nell'array $_GET e infatti se sostituisco con $_GET['page_text'] funziona... infatti tutta la stringa della textarea sta sulla barra degli indirizzi...

    inoltre non funziona nemmeno se il select_form lo metto in GET (sostituendo poi opportunamente le variabili nel php)... il secondo form me lo passa sempre e comunque col GET!

    ciao, teo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    potrebbe essere che sia settato a GET per la mancanza di valore in action="" ??? (ipotesi)

  6. #6
    no perche' ho provato anche a specificare che action="nomepagina.php", sia con la stessa pagina che splittando il codice in due script, ma nn c'e' niente da fare... e poi anche il primo form ha action="" eppure quello se lo setto a GET va a GET, se lo setto a POST va a POST... mentre il secondo, con qualunque combinazione, mi va sempre a GET!
    sto iniziando a pensare: e se fosse qualcosa legato al mio apache?
    ciao, teo

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.