Avatar billede nickmartin Nybegynder
21. juli 2003 - 14:24 Der er 9 kommentarer

Kan jeg udføre 2 scripts på 1 form?

Er der nogen der ved om det er muligt at eksekvere 2 scripts ved hjælp af en enkelt form? Jeg har 2 scripts som jeg gerne vil køre ved tryk på sa,,e knap, men ved ikke helt hvordan jeg kan gøre det.
Avatar billede thomasledet Nybegynder
21. juli 2003 - 16:31 #1
spørg i html-kategorien... (eventuelt javascript)

men hvorfor to scripts? var det ikke smartere at bygge dem sammen til ét så?
Avatar billede acoon Nybegynder
21. juli 2003 - 23:13 #2
Du kan vel få det ene script til at kalde det andet..
Avatar billede nickmartin Nybegynder
22. juli 2003 - 14:42 #3
Grunden til at jeg skal kalde 2 scripts er:

Det første som bliver kaldt er mit eget på egen server, og det andet er et tredjeparts script som jeg ikke har kontrol over. Derfor kan jeg ikke bygge dem sammen.

Jeg har et medlemsbaseret site, og hver gang et nyt medlem tilmelder sig, udfører mit script en velkomst mail. Det jeg gerne vil have er at scriptet også kan kalde en anden form, der så kan kalde det script jeg ikke har kontrol over.

Jeg har også spurgt i HTML kategorien.

Hvordan kan jeg få mit første script til at kalde det andet?
Avatar billede acoon Nybegynder
23. juli 2003 - 08:30 #4
Kan du ikke lige paste din form som skal kalde de 2 scripts??
Avatar billede nickmartin Nybegynder
23. juli 2003 - 10:38 #5
Hej acoon!

Den første form ser således ud:

<FORM method="Post" ACTION="/cgi-bin/pro_scripts/lead.cgi">
       
<INPUT TYPE="HIDDEN" NAME="sponsor" size=20 value="__MEMBER_ID__"> 

<INPUT NAME="firstname" value="" size=20>               
<INPUT NAME="lastname" value="" size=20>                               
<INPUT NAME="email" value="" size=35>                             
<input name="Join" type="submit" id="Join" value="Submit information">
                     
</FORM>

Denne form kalder så mit script lead.cgi som kan ses herunder:

##############################################################

use strict;
use lib '/var/www/cgi-bin/.mgcfg/lib';

use MLMP;

&MLHTM::HTML_Header("$MLMP::MLMWEB_NAME Request Received");

#
# Her er en masse rutiner der undersøger om det indtastede er gyldigt
#

&MLMP::InsertLead(\%in);


#
# Generate the notification e-mails
#

my %sponsor_fields=&MLMP::LoadMember($in{'parent'});
my %info=();
my %subs=();

# Notify sponsor

$info{'to'}="$sponsor_fields{'firstname'} $sponsor_fields{'lastname'}";
$info{'to_email'}=$sponsor_fields{'email'};
$info{'from'} ="$MLMP::MLMWEB_NAME";
$info{'from_email'}=$MLMP::admin_email;
$info{'reply_to'}=$in{'email'};
$info{'message_file'}="lead_lsn_notify.msg";
$info{'subject'}="New $MLMP::MLMWEB_NAME Lead";
$info{'delivery'}='immediate';

$subs{'SPONSOR_FIRST_NAME'} = $sponsor_fields{'firstname'};
$subs{'SPONSOR_LAST_NAME'} = $sponsor_fields{'lastname'};
$subs{'SPONSOR_NAME'} = "$sponsor_fields{'firstname'} $sponsor_fields{'lastname'}";
$subs{'SPONSOR_EMAIL'} = $sponsor_fields{'email'};
$subs{'MEMBER_FIRST_NAME'} = $in{'firstname'};
$subs{'MEMBER_LAST_NAME'} = $in{'lastname'};
$subs{'MEMBER_NAME'} = "$in{'firstname'} $in{'lastname'}";
$subs{'MEMBER_EMAIL'} = $in{'email'};
$subs{'MLM_NAME'}=$MLMP::MLMWEB_NAME;
$subs{'ADMIN_EMAIL'}=$MLMP::admin_email;

&MgMail::SendMail(\%info,\%subs);

# Send welcome message to member

delete $info{'reply_to'};
$info{'to'}="$in{'firstname'} $in{'lastname'}";
$info{'to_email'}=$in{'email'};
$info{'from'}="$sponsor_fields{'firstname'}";
$info{'from_email'}=$sponsor_fields{'email'};
$info{'message_file'}="lead_lsn.msg";
$info{'subject'}="$MLMP::MLMWEB_NAME - Your Information";
$info{'delivery'}='immediate';

$subs{'SPONSOR_ID'}=$in{'sponsor'};

&MgMail::SendMail( \%info, \%subs );

&MLHTM::HTML_Section( "Thank You",
    "Your requested information is on it\'s way\n");

&MLMP::CloseMemberDB;

###################################################################

Det jeg på en eller anden måde gerne vil, er at få den første form (eller mit script) til også at udføre denne form herunder:

<form name="proautoresponder" method="post" action="http://www.ProAutoResponder.com/autosubscribe.htm">

<input type="hidden" name="campaign" value="tlc">
<input type="hidden" name="account" value="nickmartin">

<input type="text" name="firstname" size="16">           
<input type="text" name="email" size="20">
<input type="submit" name="Submit22" value="Send Info!">
             
</form>

Ved godt det er noget rodet, men kan ikke rigtig dreje det??

Jeg kunne selvfølgelig også bare få mit første script til at åbne et nyt vindue med nummer 2 form i, så skal brugeren bare trykke 2 gange....

Håber det giver bedre forklaring det her ?
Avatar billede acoon Nybegynder
23. juli 2003 - 13:33 #6
Sæt dette ind i bunden af dit script...

print "Location: http://www.ProAutoResponder.com/autosubscribe.htm?campaign=tlc&account=nickmartin\n\n";

Det skal jo lige rettes lidt til... :)
Avatar billede nickmartin Nybegynder
23. juli 2003 - 18:14 #7
Hmmm troede kun det var CGI scripts der kunne bruge den funktion? Har prøvet linket - virker ikke, men synes ideen er god. Har lige sendt en besked til http://nickmartin.ProAutoResponder.com for at høre om det er muligt. Hvis det er så er alle pointene dine :))
Avatar billede acoon Nybegynder
24. juli 2003 - 01:42 #8
I så fald kan du vel smide en 'use CGI;' ind..
Men jeg må være svar skyldig. Det kommer vel an på en prøve...

Linket virker ikke, da jeg ikke har udfyldt alle ideer.. ;)
Avatar billede ranko Nybegynder
24. juli 2003 - 22:46 #9
Du kan måske også lade det først script kalde det andet script direkte vha modulet LWP::UserAgent - se f.eks. http://www.perldoc.com/perl5.004_05/lib/lwpcook.html#POST
Det betyder selvfølgelig at du skal kunne håndtere de forskellige svar som det andet script kan returnere og handle derefter
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester