problemi con un form

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao a tutti e buone vacanze.
Ho un problema con un form, mai successo ma c'è sempre una prima volta, vi spiego
in una pagina dveicoli.php ho un form che dovrebbe inviare una mail a tizio..
scrivo l'html in questo modo
HTML:
<form name="invio_mail" method="post" action="invio_mail.php">
        	<table cellspacing="0" cellpadding="0" border="0">
                <tr><td width="130" height="5"></td></tr>
                <tr>
                	<td height="20" class="font_2">INDIRIZZO E_MAIL</td>
                    <td width="30"></td>
                    <td><input type="text" name="mail" class="text_1"></td>
                </tr>
                <tr>
                	<td height="20" class="font_2">COGNOME/NOME</td>
                    <td width="30"></td>
                    <td><input type="text" name="cognome" class="text_1"></td>
                </tr>
                <tr>
                	<td valign="top" height="20" class="font_2">INFORMAZIONI</td>
                    <td width="30"></td>
                    <td><textarea name="richiesta" class="textarea_1"></textarea></td>
                </tr>
                <tr>
                	<td height="40"></td>
                    <td width="30"></td>
                    <td><input type='image' value='invia_mail' img src='images/invio_richiesta.jpg' /></td>
                </tr>
            </table>
            </form>
ma quando con il mouse passo sull'immagine in fondo vedo che mi invia a index.php

premetto che nella pagina index.php ho un altro form
PHP:
<?php
	require 'connessione/Config.php';
	require 'connessione/Connect.php';
	
	// ciclo $a
	$query_costruttore=mysql_query("Select * From costruttori ORDER BY desc_costruttore")
	or die("errore nella query Costruttori;".mysql_error());
?>
<div align="center">
<form method="GET" action="index.php">
<input type="hidden" name="lehekulg" value="ricveicoli" />
<table background="images/testata.jpg" cellpadding="0" cellspacing="0" width="900" height="471" border="0">
	<tr>
		<td></td>
	</tr>
</table>
<table background="images/bottom_testata.jpg" cellpadding="0" cellspacing="0" width="900" height="47" border="0" bordercolor="#003300">
	<tr>
		<td width="510"></td>
        <td width="105" class="font_1">Seleziona Marca</td>
        <td width="130">
        <?php
			print"
				<select name='cmb_costruttore' class='select_1'>";
					for($a=0; $a<mysql_num_rows($query_costruttore);$a++)
						{
							$a_elenco_costruttore=mysql_fetch_assoc($query_costruttore);
								print"
									<option value='".intval($a_elenco_costruttore['id_costruttore'])."'>
									".$a_elenco_costruttore['desc_costruttore']."
									</option>";
						}
			print"
				</select>";
		?>
        </td>
        <td><input type="image" value="cerca" img src="images/t_cerca.jpg" /></td>
        <td width="20"></td>
	</tr>
</table>
<table background="images/corpo.jpg" cellpadding="0" cellspacing="0" width="900" height="500" border="0" bordercolor="#CC3300">
	<tr>
    	<td valign="top" width="40"></td>
		<td valign="top" width="550">
        	<?php
                if(isset($_GET['lehekulg']))
                    {
                        $pagina = $_GET['lehekulg']. '.php';
                        if (file_exists($pagina))
                            { 
                                include($pagina);										
                            }
                        else							
                            {
                                include('veicoli.php');
                            }
                    }
                else
                    {
                        include('veicoli.php');
                    }
            ?>
        </td>
        <td valign="top">
        	<table background="images/menu.jpg" cellspacing="0" cellpadding="0" width="237" height="362" border="0" bordercolor="#00CC00">
            	<tr>
                	<td height="13"></td>
                    <td></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20" height="37"></td>
                    <td><a href="index.php?lehekulg=veicoli"><img src="images/tasto_menu.gif" border="0"></a></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20" height="37"></td>
                    <td><a href="quad"><img src="images/tasto_menu.gif" border="0"></a></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20" height="37"></td>
                    <td><a href="pit"><img src="images/tasto_menu.gif" border="0"></a></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20" height="37"></td>
                    <td><a href="moto"><img src="images/tasto_menu.gif" border="0"></a></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20" height="37"></td>
                    <td><a href="scooter"><img src="images/tasto_menu.gif" border="0"></a></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20" height="37"></td>
                    <td><a href="noleggio"><img src="images/tasto_menu.gif" border="0"></a></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20" height="37"></td>
                    <td><a href="azienda"><img src="images/tasto_menu.gif" border="0"></a></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20" height="37"></td>
                    <td><a href="login"><img src="images/tasto_menu.gif" border="0"></a></td>
                    <td width="40"></td>
                </tr>
                <tr>
                	<td width="20"></td>
                    <td></td>
                    <td width="40"></td>
                </tr>
            </table>
        </td>
	</tr>
</table>
<table background="images/bottom.jpg" cellpadding="0" cellspacing="0" width="900" height="79" border="0">
	<tr>
		<td></td>
	</tr>
</table>
</form>
molto probabilmente è quello che crea problemi, ma non posso toglierlo prima perchè funziona e poi perchè quella parte di codice è sempre visibile all'interno del sito, in quanto non fa parte del corpo che cambia.
La domanda è: come faccio ad indirizzare il form che invia la mail alla pagina che invia la mail.php

Grazie a tutti
 

Ciao a tutti, qualcuno ha un'idea per far funzionare il mio form?
Ciao:byebye:
 
Prova forzando l'action con javascript:

PHP:
....
<td><input onclick="this.form.action='invio_mail.php';this.form.submit();" type='image' value='invia_mail' img src='images/invio_richiesta.jpg' /></td>
....
 
Prova forzando l'action con javascript:

PHP:
....
<td><input onclick="this.form.action='invio_mail.php';this.form.submit();" type='image' value='invia_mail' img src='images/invio_richiesta.jpg' /></td>
....

Ciao, niente da fare, in fondo mi indirizza sempre all'index.php
il tutto è visibile su xxx.annunciitaliani.it, cliccando su scheda tecnica entro nella pagina interessata.
Ciao, aiutatemi è la prima volta che mi succede
 
Ciao,
ho guardato il sorgente della tua pagina ma non ho visto la modifica che ti ho suggerito.

Da quello che ho capito (se ho capito ) tu hai la necessità di inserire un form all interno di un altro form.

Se cerchi in rete "nidificare form" la risposta che troverai è sempre la stessa: "Non si possono nidificare i form".

E' tuttavia possibile associare ad ogni bottone un azione diversa attraverso l'evento onclick.

Ho provato il tuo form in questo modo e funziona:
cioè mi richiama l'action del form interno, senza l'evento onlick mi richiama giustamente index.php

PHP:
<form method="post" action="index.php">
    
    <form name="invio_mail" method="post" action="invio_mail.php">
        <table cellspacing="0" cellpadding="0" border="0">
            <tr><td width="130" height="5"></td></tr>
            <tr>
                <td height="20" class="font_2">INDIRIZZO E_MAIL</td>
                <td width="30"></td>
                <td><input type="text" name="mail" class="text_1"></td>
            </tr>
            <tr>
                <td height="20" class="font_2">COGNOME/NOME</td>
                <td width="30"></td>
                <td><input type="text" name="cognome" class="text_1"></td>
            </tr>
            <tr>
                <td valign="top" height="20" class="font_2">INFORMAZIONI</td>
                <td width="30"></td>
                <td><textarea name="richiesta" class="textarea_1"></textarea></td>
            </tr>
            <tr>
                <td height="40"></td>
                <td width="30"></td>
                <td><input onclick="this.form.action='invio_mail.php';this.form.submit();" type='image' value='invia_mail' img src='images/invio_richiesta.jpg' /></td>
            </tr>
        </table>
    </form>
    
</from>

Forse non sono riuscito a spiegarmi o forse non ho capito bene il tuo problema. Mi scuso in anticipo
 

Ciao e grazie per l'aiuto, ma non va, se guardi nella barra degli indirizzi mi richiama entrambe le pagine, cioè invio_mail.php e ric_veicoli.php e non da nessun risultato.
Il problema credo è il fatto che questa parte viene richiamata ogni volta che carico la pagina
PHP:
<?php 
    require 'connessione/Config.php'; 
    require 'connessione/Connect.php'; 
    $query_costruttore=mysql_query("Select * From costruttori ORDER BY desc_costruttore") 
    or die("errore nella query Costruttori;".mysql_error()); 
?> 
<div align="center"> 
xxxxx<form method="GET" action="index.php"> 
<input type="hidden" name="lehekulg" value="ricveicoli" />xxxx 
<table background="http://forum.mrwebmaster.it/images/testata.jpg" cellpadding="0" cellspacing="0" width="900" height="471" border="0"> 
    <tr> 
        <td></td> 
    </tr> 
</table> 
?>
Adesso dovrei trovare un modo che ogni qualvolta faccio una richiesta via form, di non intaccare quella parte tra le xxxx.
Grazie ancora
Ah! dimenticavo adesso è tutto online
 
Ultima modifica:

Ciao, stavo facendo io delle prove, hai provato dalla pagina principale?, perchè a me non va, mi richiama 2 pagine, grazie
 

Ciao, stavo facendo io delle prove, hai provato dalla pagina principale?, perchè a me non va, mi richiama 2 pagine, grazie


Ciao, rinnego ciò che ho scritto, se faccio partire il form da questa pagina
http://www.annunciitaliani.it/dveicoli.php
tutto funziona, se invece cerco di farla partire da questa
http://www.annunciitaliani.it/index.php?lehekulg=dveicoli&raamat=11
non funziona.
Così mi sono spiegato bene, perchè stavo a fare un casino
Ciao e grazie
 
Ultima modifica:

No,no, io non sto lavorando via web, ma in locale, il risultato non cambia
come avrai notato, nella barra degli indirizzi appare
Codice:
http://www.annunciitaliani.it/invio_mail.php?lehekulg=ricveicoli&cmb_costruttore=1&mail=&cognome=&richiesta=&x=85&y=12
e fa una mischiata di dati, ricveicoli, cmb_costruttore non ci azzeccano a niente, molto probabilmente, quando carica la pagina parte anche il form che sta nella index.php
Ciao

 
Mi sa che i campi dell'altro form te li devi portare dietro per forza

forza con javascript anche il method del form interno

PHP:
<td><input onclick="this.form.action='invio_mail.php';this.form.method='post';
                    this.form.submit();" type='image' value='invia_mail' img src='images/invio_richiesta.jpg' /></td>

almeno cosi non ti porti niente nell'url poi recuperi solo i campi che ti servono


ciao
 

Grazie, non so come fare js lo uso poco o niente, qualcuno a qualche modo diverso per uscire da questa storia dei form?
Grazie a tutti
 

Ciao a tutti, problema risolto, dovevo chiudere il form subito dopo il tasto
HTML:
<form  name='tipo' method="GET" action="index.php">
<input type="hidden" name="lehekulg" value="ricveicoli" />
<table background="images/testata.jpg" cellpadding="0" cellspacing="0" width="900" height="471" border="0">
	<tr>
		<td></td>
	</tr>
</table>
<table background="images/bottom_testata.jpg" cellpadding="0" cellspacing="0" width="900" height="47" border="0" bordercolor="#003300">
	<tr>
		<td width="510"></td>
        <td width="105" class="font_1">Seleziona Marca</td>
        <td width="130">
        <?php
			print"
				<select name='cmb_costruttore' class='select_1'>";
					for($a=0; $a<mysql_num_rows($query_costruttore);$a++)
						{
							$a_elenco_costruttore=mysql_fetch_assoc($query_costruttore);
								print"
									<option value='".intval($a_elenco_costruttore['id_costruttore'])."'>
									".$a_elenco_costruttore['desc_costruttore']."
									</option>";
						}
			print"
				</select>";
		?>
        </td>
        <td><input type="image" value="cerca" img src="images/t_cerca.jpg" /></td>
        <td width="20"></td>
	</tr>
</table>
</form>
Il problema adesso è che facendo così mi spezza il template, potete visionarlo su xxx.annunciitaliani.it

Ciao e grazie
 

Un messaggio al moderatore del forum, questa discussione puoi chiuderla, in quanto il problema php è stato risolto e quello dell'html lo postato nella sezione apposita
Grazie da minatore
 

Discussioni simili