Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[perl] in formmail.pl (Matt wright) gebruik checkboxes

Pagina: 1
Acties:

  • livingtale
  • Registratie: September 2002
  • Laatst online: 11-09-2021
Ik gebruik naar tevredenheid het script van Matt Wright.
Ik wil nu alleen checkboxes toevoegen. De gegevens worden echter niet opgepikt.
Ik weet dat normaliter de name attributen zo worden 'opgepikt'
%Config = ('naam','',
In mij geval bcc, want ik wil afschiften kunnen versturen naar 0, 1 of meer mensen naar gelang het bericht.
BCC zelf is geen probleem, dat lukt me prima, zolang ik maar bijvoorbeeld radio buttons gebruik.

Mijn handboek (Elizabeth Castro) zegt dat ik het volgende moet doen (bij muliple-valued form data):
my @values;
@values = param ('bcc');
en dan printen (waarbij bcc de naam van de checkbox is)
Formmail.pl staat de functie param echter niet toe.
Waar ik ook zoek: geen antwoord te vinden.
Volgens mij moet het toch heel simpel zijn....

Overigens is een ander mail form gebruiken niet echt een optie omdat ik heel veel (succesvolle) aanpassingen gemaakt heb.


en heb dat zelf aangepast met een uitgebreid standaard antwoorden

rein van der meij


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Matt wright's script is al jaren geleden gebrandmerkt als een zeer onveilig script (mensen kunnen van buitenaf mail relayen door het script). M.a.w.: weg ermee en een alternatief gebruiken.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • livingtale
  • Registratie: September 2002
  • Laatst online: 11-09-2021
Zoals ik al schreef heb ik nogal wat geïnvesteerd in aanpassingen.
Het is slechts voor intern gebruik: maar 5 mensen kunnen er gebruik van maken.

rein van der meij


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Niet alles wat voor intern gebruik geschreven wordt, blijft intern. Je zult dat je op een gegeven moment op een internet website een contact formulier nodig hebt. En dan bedenk je je ineens dat je al een script daarvoor hebt liggen. En dat gebeurt helaas vaker dan je denkt.

If it isn't broken, fix it until it is..


  • livingtale
  • Registratie: September 2002
  • Laatst online: 11-09-2021
Dit contactformulier maakt onderdeel uit van een discussiesite en is alleen zichtbaar voor als ingelogde operators een link daarnaar toe gebruiken. Andere gebruikers maken gebruik van beveiligde privé boodschappen.
Het formulier genereert standaardboodschappen, maar nu er meer operators zijn dan drie, en niet iedereen alle boodschappen hoeft te krijgen, moet ik praktisch gezien wel checkboxes gebruiken.
Dus alsjeblieft, probeer me niet te overtuigen van de kwalijke eigenschappen van formmail maar geef een tip hoe ik checkboxgegevens kan verwerken in dit script.

rein van der meij


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Je kunt toch alle checkboxen dezelfde naam (emailaddress) geven? Als value van elke checkbox gebruik je dan het emailadres. De browser plaatst in de post dan alleen de emailadressen welke zijn aangevinkt.

De meeste talen zullen de checkboxes dan als een collectie (array) aanbieden.

If it isn't broken, fix it until it is..


  • livingtale
  • Registratie: September 2002
  • Laatst online: 11-09-2021
Natuurlijk, en dat heb ik ook gedaan.
Maar een checkbox geeft meerdere waarden per item (naam) aan, en dat vereist een andere verwerking.
Zoals Elisabeth Castro het beschrijft:
voor multiple values:
my @values;
@values = param ('bcc');
voor single values:
my $values;
$values = param ('bcc');

Het mailform gebruikt duidelijk de single valued methode, ik moet de multiple methode dus apart toevoegen.
Helaas accepteerd het script de functie "param" niet.
Ik heb dus een andere manier nodig dan "param" om die multiple values op te halen uit het formulier.

rein van der meij


  • livingtale
  • Registratie: September 2002
  • Laatst online: 11-09-2021
Voor wie het wil weten:
dit is de oplossing:
@Config = ('bcc','');
(direct na $config = .....)
print MAIL "BCC: $Form{'bcc'}\n";

Zoals ik al dacht: vreselijk simpel.... maar het heeft me wel een aantal uren gekost.

rein van der meij

Pagina: 1