Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Unire 2 form

  1. #1

    Unire 2 form

    Salve a tutti!

    Avrei una domanda da farvi e credo che solo voi potete aiutarmi visto che ve la cavate alla grande e risolvete i problemi di tutti

    Io ho scaricato 2 script in php:

    uno che mi inserisce il link di un sito al database e comprende descrizione, nome e email dell'inserzionista;

    l'altro che fa iscrivere alla newsletter solamente inserendo la mail.

    Ora il mio problema e che questi 2 script utilizzano 2 action differenti e quindi 2 form differenti, nonchè 2 query differenti..

    Avrei bisogni di unirli ad esempio che quando un utente inserisce il link nel database visto che deve aggiungere anche la mail io aggiungo se vuole iscriversi alla newsletter con tipo un radiobox di si o no e lui automaticamente mette la mail anche nell'altra query oppure se ce l'opzione si fa eseguire l'altro form..

    Spero di essermi spiegato e che mi sappiate aiutare perchè e da 4 giorni che ci sto dietro :rollo:

    Aspetto una vostra risposta e ne approfitto per augurarvi un felice anno nuovo!
    by [Master]
    www.nethelp.it

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Non dovrebbe essere difficile. Se non ho cvapito male hai un form che esegue una query di insierimento link + nome e email di chi inserisce i dati. Poi un secondo form per registrarsi con nome email(quanti dati deve inserire l'utente per avere ilservizio di newsletter???). Cmq aggiungi la checkbox all'interno dell'altro form e se risulta vero fai eseguire l'altra query.Ovviamente dovrai fare qualche modifica per i nomi dei campi sia da prelevare che da usare per la insert.

  3. #3
    Allora..
    Il form che inserisce il link contiene i dati

    Nome sito
    Url
    Descrizione
    Nome
    Email

    Il form della newsletter contiene 4 campi tra qui 3 avevo pensato di metterli fissi

    Email
    Tipo newletter
    Formato (HTML o TESTO)
    Iscrizione o Cancellazione

    Il radiobox che vorrei mettere nel form che inserisce il link dovrebbe far si che faccia almeno eseguire anche quello della newsletter in modo che se uno segna si lui iscrive sia il sito che alla newsletter..

    Ti faccio presente che non sono esperto in php, me la cavo bene a modificarlo ma non a crearlo, quindi se non ti dispiace dimmi magari cosa aggiungere per fare tutto ciò

    Grazie per aver risposto!
    by [Master]
    www.nethelp.it

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    dal mio punto di vista potresti fare cosi':

    elimini l campo email nel secondo form perche' c'e' gia' nel primo... inserisci la checkbox per registrarsi o cancellarsi e poi dopo l'invio fai un controllo del tipo: se la chek e' stata selezionata allora prendi anche i dati dei campi per news letter(li userai con la funzione apposita) se non e' stata selezionata prendi solo i campi del primo form.
    Per l'eventuale cancellazione, fai una cosa del genere: Fai inserire l'email all'utente e gli fai selezionare una check per cancellarsi dal servizio. Controlli i dati passati dal form e se sono stati inseriti solo email e "eliminazione da newsletter" esegui una query solo per quello.
    Scrivi pure tutto quello che ti serve..

  5. #5
    Ti faccio vedere i due script in modo da dirmi cosa cambiere e/o aggiungere..

    Questo e quello che fa inserire il link al database

    codice:
    function AddLink() {
        OpenTable();
        echo "<center><font class=\"title\">"._ADDALINK."</font></center>
    
    ";
        if (is_user($user) || $links_anonaddlinklock == 1) {  /* 06-24-01 Bug fix : changed $links_anonaddlinklock != 1 to $links_anonaddlinklock == 1 */
        	echo ""._INSTRUCTIONS.":
    "
    	    ."<big>&middot;</big> "._SUBMITONCE."
    "
    	    ."<big>&middot;</big> "._POSTPENDING."
    "
    	    ."<big>&middot;</big> "._USERANDIP."
    "
        	    ."<form method=\"post\" action=\"modules.php?name=$module_name&amp;l_op=Add\">"
        	    .""._PAGETITLE.": <input type=\"text\" name=\"title\" size=\"50\" maxlength=\"100\">
    "
        	    .""._PAGEURL.": <input type=\"text\" name=\"url\" size=\"50\" maxlength=\"100\" value=\"http://\">
    ";
        	echo ""._CATEGORY.": <select name=\"cat\">";
        	$result = $db->sql_query("SELECT cid, title, parentid from ".$prefix."_links_categories order by parentid,title");
        	while ($row = $db->sql_fetchrow($result)) {
    	    $cid2 = intval($row['cid']);
    	    $ctitle2 = stripslashes(check_html($row['title'], "nohtml"));
    	    $parentid2 = intval($row['parentid']);
        		if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
        	    echo "<option value=\"$cid2\">$ctitle2</option>";
        	}
        	echo "</select>
    
    "
        	    .""._LDESCRIPTION."
    <textarea name=\"description\" cols=\"60\" rows=\"5\"></textarea>
    
    
    "
        	    .""._YOURNAME.": <input type=\"text\" name=\"auth_name\" size=\"30\" maxlength=\"60\">
    "
        	    .""._YOUREMAIL.": <input type=\"text\" name=\"email\" size=\"30\" maxlength=\"60\">
    
    "
        	    ."<input type=\"hidden\" name=\"l_op\" value=\"Add\">"
        	    ."<input type=\"submit\" value=\""._ADDURL."\"> "._GOBACK."
    
    "
        	    ."</form>";
        }else {
        	echo "<center>"._LINKSNOTUSER1."
    "
    	    .""._LINKSNOTUSER2."
    
    "
        	    .""._LINKSNOTUSER3."
    "
        	    .""._LINKSNOTUSER4."
    "
        	    .""._LINKSNOTUSER5."
    "
        	    .""._LINKSNOTUSER6."
    "
        	    .""._LINKSNOTUSER7."
    
    "
        	    .""._LINKSNOTUSER8."";
        }
        CloseTable();
    Questo e quello per la newsletter:

    codice:
    echo _ML_WELCOMEMESSAGE."
    \n";
    echo "<table align='center' border='0'>\n";
    echo "<form action='modules.php?name=$modname&amp;op=MLAction' method='POST'>\n";
    echo "<tr><td bgcolor='$bgcolor2'>"._ML_EMAILADDRESS."</td><td><input type='text' name='email' value='".$usermail."' size='12' maxlength='100'></td></tr>\n";
    echo "<tr><td bgcolor='$bgcolor2'>"._ML_MAIN."</td><td><select name ='lid'>\n";
    $result = $db->sql_query("SELECT * FROM `".$prefix."_nsnml_lists`");
    while($list_info = $db->sql_fetchrow($result)) { echo "<option value='".$list_info['lid']."'>".$list_info['title']."</option>\n"; }
    echo "</select></td></tr>\n";
    echo "<tr><td bgcolor='$bgcolor2'>"._ML_CHOOSEPLEASE."</td><td><select name ='sub'>\n";
    echo "<option value='sub'>"._ML_SUBSCRIBE."</option>\n";
    echo "<option value='unsub'>"._ML_UNSUBSCRIBE."</option>\n";
    echo "</select></td></tr>\n";
    echo "<tr><td bgcolor='$bgcolor2'>"._ML_CHOOSETYPE."</td><td><select name='type'>\n";
    echo "<option value='0'>"._ML_TYPETEXT."</option>\n";
    echo "<option value='1'>"._ML_TYPEHTML."</option>\n";
    echo "</select></td></tr>\n";
    echo "<tr><td align='center' colspan='2'><input type='submit' value='"._ML_SEND."'></td></tr>\n";
    echo "</form>\n";
    echo "</table>\n";
    Non fare caso a certi valori in quanto sono script che vanno usati con phpnuke importante che capisci il funzionamento
    by [Master]
    www.nethelp.it

  6. #6
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    <?php
    function AddLink() {
    OpenTable();
    echo "<center><font class=\"title\">"._ADDALINK."</font></center>

    ";
    if (is_user($user) || $links_anonaddlinklock == 1) { /* 06-24-01 Bug fix : changed $links_anonaddlinklock != 1 to $links_anonaddlinklock == 1 */
    echo ""._INSTRUCTIONS.":
    "
    ."<big>·</big> "._SUBMITONCE."
    "
    ."<big>·</big> "._POSTPENDING."
    "
    ."<big>·</big> "._USERANDIP."
    "
    ."<form method=\"post\" action=\"modules.php?name=$module_name&l_op=Add\"> "
    .""._PAGETITLE.": <input type=\"text\" name=\"title\" size=\"50\" maxlength=\"100\">
    "
    .""._PAGEURL.": <input type=\"text\" name=\"url\" size=\"50\" maxlength=\"100\" value=\"http://\">
    ";
    echo ""._CATEGORY.": <select name=\"cat\">";
    $result = $db->sql_query("SELECT cid, title, parentid from ".$prefix."_links_categories order by parentid,title");
    while ($row = $db->sql_fetchrow($result)) {
    $cid2 = intval($row['cid']);
    $ctitle2 = stripslashes(check_html($row['title'], "nohtml"));
    $parentid2 = intval($row['parentid']);
    if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);

    echo "<option value=\"$cid2\">$ctitle2</option>";
    }
    echo "</select>

    "
    .""._LDESCRIPTION."
    <textarea name=\"description\" cols=\"60\" rows=\"5\"></textarea>


    "
    .""._YOURNAME.": <input type=\"text\" name=\"auth_name\" size=\"30\" maxlength=\"60\">
    "
    .""._YOUREMAIL.": <input type=\"text\" name=\"email\" size=\"30\" maxlength=\"60\">

    "
    ."<input type=\"hidden\" name=\"l_op\" value=\"Add\">"


    // questo submit penso andra' levato per usare solo quello in fondo alla pagina
    // potresti inserire qui la checkbox

    ."<input type=\"submit\" value=\""._ADDURL."\"> "._GOBACK."

    "
    ."</form>";
    }else {
    echo "<center>"._LINKSNOTUSER1."
    "
    .""._LINKSNOTUSER2."

    "
    .""._LINKSNOTUSER3."
    "
    .""._LINKSNOTUSER4."
    "
    .""._LINKSNOTUSER5."
    "
    .""._LINKSNOTUSER6."
    "
    .""._LINKSNOTUSER7."

    "
    .""._LINKSNOTUSER8."";
    }
    CloseTable();


    echo _ML_WELCOMEMESSAGE."
    \n";
    echo "<table align='center' border='0'>\n";

    // non so dove arrivano i dati ma con un solo form arriveranno tutti alla stessa pagina ovviamente
    // dovrai eliminare un form quindi e usarne uno solo

    echo "<form action='modules.php?name=$modname&op=MLAction' method='POST'>\n";
    //qui ripeti l'inserimento dell'email e potresti levarlo quindi

    echo "<tr><td bgcolor='$bgcolor2'>"._ML_EMAILADDRESS."</td><td><input type='text' name='email' value='".$usermail."' size='12' maxlength='100'></td></tr>\n";
    echo "<tr><td bgcolor='$bgcolor2'>"._ML_MAIN."</td><td><select name ='lid'>\n";
    $result = $db->sql_query("SELECT * FROM `".$prefix."_nsnml_lists`");
    while($list_info = $db->sql_fetchrow($result)) { echo "<option value='".$list_info['lid']."'>".$list_info['title']."</option>\n"; }
    echo "</select></td></tr>\n";
    echo "<tr><td bgcolor='$bgcolor2'>"._ML_CHOOSEPLEASE."</td><td><select name ='sub'>\n";
    echo "<option value='sub'>"._ML_SUBSCRIBE."</option>\n";
    echo "<option value='unsub'>"._ML_UNSUBSCRIBE."</option>\n";
    echo "</select></td></tr>\n";
    echo "<tr><td bgcolor='$bgcolor2'>"._ML_CHOOSETYPE."</td><td><select name='type'>\n";
    echo "<option value='0'>"._ML_TYPETEXT."</option>\n";
    echo "<option value='1'>"._ML_TYPEHTML."</option>\n";
    echo "</select></td></tr>\n";
    echo "<tr><td align='center' colspan='2'><input type='submit' value='"._ML_SEND."'></td></tr>\n";

    // il submit andra' solo qui in fondo
    echo "</form>\n";
    echo "</table>\n";

  7. #7
    Magari non mi sono spiegato bene ho non ho capito cosa hai scritto..

    Un form non posso toglierlo perchè ha un action diverso e quindi invia i dati a una query diversa
    by [Master]
    www.nethelp.it

  8. #8
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    dovresti fare qualcosa per far si che utilizzando un unico form, vengano eseguite entrambe le query esegueno i controlli necessari per vedere quali datiinserire e dove. Ovviamente con un unico action.

  9. #9
    Appunto...
    Il mio problema è questo..
    Se no non chiedevo aiuto...
    Il mio problema è semplicemente far eseguire 2 form in 1 in qualunque modo purchè si possa fare..

    Avevo pensato al checkbox (ke poi sarebbe il radiobox) in modo che se selezionato su si faceva eseguire anche l'altro form recuperado la mail dal primo.. ma io non so come farlo
    by [Master]
    www.nethelp.it

  10. #10
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    non ti basta fare un controllo sul campo mail(primo form) e se settato eseguire anche la seconda query utilizzando l'emil inserita per la registrazione?

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.