/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Forhindre reload
Fra : Stefan McKinnon Edwa~


Dato : 16-04-03 19:13

Jeg sidder og er i gang med et eksamensprojekt i IT, hvor jeg laver en
mail-newsletter-hurlumhej, hvor der bl.a. er nogle sider som sender en mail
ud.
Jeg vil så gerne, at man ikke bare sender flere mails ud, ved at reloade
siden - for så får man eddername meget spam hvis nogen opdager, man kan det!

Det jeg tænker på, er et par linier øverst i de pågældende scripts der
spørger lidt alá:
"Er den her side blevet reloadet?"
Hvis ja, så sendes der altså ikke en mail ud.
Og nej, så er det jo lidt iorden at den sendes ud.

På forhånd tak!
Stefan McKinnon Edwards



 
 
Michael (16-04-2003)
Kommentar
Fra : Michael


Dato : 16-04-03 20:55

Hej...

Du kunne lave det med en session:

<?PHP
if ($_GET['Action'] == "Send") {
mail();
session_start();
$_SESSION['sendtMail'] = "Ja";
}
?>

<?PHP if ($_SESSION['sendtMail'] == "Ja") { ?>

<?PHP } else { ?>

<?PHP } ?>

--
Mvh.
Michael Bested
michael@bested.net



Stefan McKinnon Edwa~ (16-04-2003)
Kommentar
Fra : Stefan McKinnon Edwa~


Dato : 16-04-03 21:17

Ja, det overvejede jeg, men pga. min tilsyneladende komplicerede opbygning,
bliver der lavet output før jeg er nået så langt, så jeg skal bruge et svar
der ikke inkluderer noget der skal sendes før output.
Men ellers tak!

- Stefan

"Michael" <news@bested.net> wrote in message
news:3e9db52c$0$24652$edfadb0f@dread14.news.tele.dk...
> Hej...
>
> Du kunne lave det med en session:
>
> <?PHP
> if ($_GET['Action'] == "Send") {
> mail();
> session_start();
> $_SESSION['sendtMail'] = "Ja";
> }
> ?>
>
> <?PHP if ($_SESSION['sendtMail'] == "Ja") { ?>
>
> <?PHP } else { ?>
>
> <?PHP } ?>
>
> --
> Mvh.
> Michael Bested
> michael@bested.net
>
>



Tonni Aagesen (16-04-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 16-04-03 23:45

Stefan McKinnon Edwards wrote:
> Jeg sidder og er i gang med et eksamensprojekt i IT, hvor jeg laver en
> mail-newsletter-hurlumhej, hvor der bl.a. er nogle sider som sender en mail
> ud.
> Jeg vil så gerne, at man ikke bare sender flere mails ud, ved at reloade
> siden - for så får man eddername meget spam hvis nogen opdager, man kan det!
>
> Det jeg tænker på, er et par linier øverst i de pågældende scripts der
> spørger lidt alá:
> "Er den her side blevet reloadet?"
> Hvis ja, så sendes der altså ikke en mail ud.
> Og nej, så er det jo lidt iorden at den sendes ud.

Den måde jeg plejer at bruge er at lægge selve dataprocesseringen i en
fil for sig. For eksemepel:

-----indtast.php-----
....
<form action="dataProc.php" method="post" >
<input ... name="foobar" />
</form
....
---------------------

og så:

-----dataProc.php-----
<?php
mail(..., $_POST['foobar'], ...);
header("location: whereever.php");
?>
----------------------

På den måde kan folk ikke reloade siden og udføre mail() flere gange.


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Stefan McKinnon Edwa~ (17-04-2003)
Kommentar
Fra : Stefan McKinnon Edwa~


Dato : 17-04-03 11:13

Ok, min design-konstruktion er blevet lidt indviklet og benytter en include
midt i siden, lidt alá:
Index.php:
<html>
bla bla
<body>
<?
include("sidenderskalvises.php");
?>
</body>
</html>

Og det er i sidenderskalvises.php at mailen sendes fra, så derfor kan jeg
ikke benytte cookies, headers etc. Rigtig nederen.
Så kender I en anden måde at sende brugeren videre til en anden side??

Igen, på forhånd tak.

"Stefan McKinnon Edwards" <sme@iysik.com> wrote in message
news:P2hna.18571$y3.1745295@news010.worldonline.dk...
> Jeg sidder og er i gang med et eksamensprojekt i IT, hvor jeg laver en
> mail-newsletter-hurlumhej, hvor der bl.a. er nogle sider som sender en
mail
> ud.
> Jeg vil så gerne, at man ikke bare sender flere mails ud, ved at reloade
> siden - for så får man eddername meget spam hvis nogen opdager, man kan
det!
>
> Det jeg tænker på, er et par linier øverst i de pågældende scripts der
> spørger lidt alá:
> "Er den her side blevet reloadet?"
> Hvis ja, så sendes der altså ikke en mail ud.
> Og nej, så er det jo lidt iorden at den sendes ud.
>
> På forhånd tak!
> Stefan McKinnon Edwards
>
>



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste