/ 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
Hjælp til mailingliste.
Fra : Preben Larsen


Dato : 21-08-05 10:41

Hej!
Er det passende at stille spørgsmål om opsætning af en
mailingliste i denne gruppe.
Jeg er absolut nybegynder - men meget lærernem!!!
Mailinglisten har jeg downloadet til fri brug og skal afvikles på
frac.dk's server.
Her er hjælpetekten fra readme og her melder de første problemer
sig:

...."filenamme description
config.php The Script containing your information that **NEEDS**
to be modified.
mailadmin.php The PHP script you will use to send mail out to
your list.
maillist.php The PHP script for subscribing/unsubscribing to your
list.
sub.html The html code example of the form for
subscribing/unsubscribing.
list.txt Empty text file for storing the email addresses.
header.txt Text file for storing a header which will be at the
top of all messages you send.
footer.txt Text file for storing a footer which will be at the
bottom of all messages you send."....

- især er det indsættelsen af fx. admin i config.php:

$adminusername = "admin"; // Username for logging in to
mailadmin.php

- skal // slettes? Det er her kendskabet til PHP-kodningen
slipper op!

Håber I vil hjælpe lidt til her?
Mvh
Preben Larsen

PS Jeg her et par tillægsspørgsmål om placering af de forskellige
filer - men det kan komme senere!



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Per Riber (21-08-2005)
Kommentar
Fra : Per Riber


Dato : 21-08-05 14:44

21 Aug 2005 09:41:25 GMT skrev Preben Larsen
<prelar@stofanet.dk>:

>$adminusername = "admin"; // Username for logging in to
>mailadmin.php
>- skal // slettes? Det er her kendskabet til PHP-kodningen
>slipper op!

Nej, // skal ikke slettes. De betyder, at resten af linjen
er en kommentar.

mvh Per

Preben Larsen (21-08-2005)
Kommentar
Fra : Preben Larsen


Dato : 21-08-05 18:42

Hej!

> Nej, // skal ikke slettes. De betyder, at resten af linjen
> er en kommentar.

Så er der vel ikke andet tilbage at gøre, når alle kommentarer er
indsat i config.php m.m., end at oprette alle filer .txt .php og
html
og indætte dem i websidens rodmappe...?

Mvh
Preben Larsen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Per Riber (21-08-2005)
Kommentar
Fra : Per Riber


Dato : 21-08-05 19:02

21 Aug 2005 17:41:55 GMT skrev Preben Larsen
<prelar@stofanet.dk>:

>Så er der vel ikke andet tilbage at gøre, når alle kommentarer er
>indsat i config.php m.m., end at oprette alle filer .txt .php og
>html
>og indætte dem i websidens rodmappe...?

...eller i et subdirectory under din rodmappe, måske..?

Men ja, det må være på tide at afprøve det

Jeg kender ikke dit produkt, men som regel består den slags
af en komplet filstruktur, som skal uploades til websiden.
Altså incl. subdirectories og alle filerne, som skal ligge
de rigtige steder og overføres korrekt som ascii- eller
binære filer.

Hvis du ikke allerede har en god FTP-klient, kan FileZilla
varmt anbefales.

Se http://sourceforge.net/projects/filezilla

mvh Per

Preben Larsen (22-08-2005)
Kommentar
Fra : Preben Larsen


Dato : 22-08-05 16:24

Hej Per!

> Men ja, det må være på tide at afprøve det

Så er hele rækken af filer lagt ind på serveren - men den melder fejl
( den vælger error.html)!
Hvor skal jeg lige begynde at lede efter fejl(lene)?

www.prana-terapi.dk/kontakt.html

Mvh
Preben Larsen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Per Riber (22-08-2005)
Kommentar
Fra : Per Riber


Dato : 22-08-05 21:09

22 Aug 2005 15:24:18 GMT skrev Preben Larsen
<prelar@stofanet.dk>:

>> Men ja, det må være på tide at afprøve det
>Så er hele rækken af filer lagt ind på serveren - men den melder fejl
>( den vælger error.html)!
>Hvor skal jeg lige begynde at lede efter fejl(lene)?

Jeg gik ind på din side og så ingen fejlmeldinger.

Kan du ikke specificere lidt nærmere, hvordan fejlen
fremkommer..?

mvh Per

Preben Larsen (22-08-2005)
Kommentar
Fra : Preben Larsen


Dato : 22-08-05 21:45

Hej!
> Kan du ikke specificere lidt nærmere, hvordan fejlen
> fremkommer..?

Jo - når du fx. indtaster en gyldig mailadresse kommer skiltet med
"error"??

mvh Preben



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Per Riber (22-08-2005)
Kommentar
Fra : Per Riber


Dato : 22-08-05 22:02

22 Aug 2005 20:45:17 GMT skrev Preben Larsen
<prelar@stofanet.dk>:

>Jo - når du fx. indtaster en gyldig mailadresse kommer skiltet med
>"error"??

Beklager, Preben. Jeg vil gerne hjælpe dig, men jeg vil ikke
registreres i dit system. Tænk, hvis det pludselig virker :)

Kig nærmere på, hvad din maillist.php foretager sig.

mvh Per

Preben Larsen (23-08-2005)
Kommentar
Fra : Preben Larsen


Dato : 23-08-05 05:12

Hej!
> Beklager, Preben. Jeg vil gerne hjælpe dig, men jeg vil ikke
> registreres i dit system. Tænk, hvis det pludselig virker :)
>
> Kig nærmere på, hvad din maillist.php foretager sig.

Det er heller ikke meningen, at du skal lade dig registrere.
Maillisten bliver taget væk fra siden, når den virker, den skal bruges
et andet sted.

Men her et maillist.php

<?
error_reporting(0);
include("config.php");

function checkmail ($email)
{
   global $listfile;
   $fd = fopen ($listfile, "r");
   $contents = fread ($fd, filesize ($listfile));
   fclose ($fd);
   
   if (@stristr($contents,$email))
      $valid = "invalid";
   if (eregi("^[_\.0-9a-z-]+@([0-9a-z][-0-9a-z\.]+)\.([a-z]{2,3}$)",
$email) && !isset($valid))
      $valid = "valid";
   else
      $valid = "invalid";
   
   return $valid;
}

if ($action == "subscribe" && isset($email))
{
   $valid = checkmail($email);
   if ($valid == "valid")
   {
      $fp = fopen($listfile, 'a+');
         flock($fp,2);
         fwrite($fp,"".strtolower($email).",");
      fclose($fp);
      header ("Location: ".$welcome."");
      exit;

   }
   else {
      header ("Location: ".$error."");
      exit;
   }
}   
elseif ($action == "unsubscribe" && isset($email))
{
   $fd = fopen ($listfile, "r");
   $contents = fread ($fd, filesize ($listfile));
   fclose ($fd);
   $allpeople = "";
   $entries = explode(",",$contents);
   for($i=0;$i<count($entries);$i++)
   {
      if (strtolower($email) == strtolower($entries[$i]))
         $found = "yes";
      elseif ($entries[$i] != "")
         $allpeople .= "".$entries[$i].",";
   }
   if ($found == "yes")
   {
      $fp = fopen($listfile, 'w');
         fwrite($fp,$allpeople);
      fclose($fp);
   }
   header ("Location: ".$goodbye."");
   exit;
   
}
else
   header ("Location: ".$error."");
   exit;
?>

- håber du kan få lidt ud af det?

mvh
Preben

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Per Riber (23-08-2005)
Kommentar
Fra : Per Riber


Dato : 23-08-05 14:30

23 Aug 2005 04:11:57 GMT skrev Preben Larsen
<prelar@stofanet.dk>:

>Det er heller ikke meningen, at du skal lade dig registrere.
>Maillisten bliver taget væk fra siden, når den virker, den skal bruges
>et andet sted.

Okay, du har hermed lovet at fjerne mig igen efter endt
test, så jeg har forsøgt at tilmelde mig og får ganske
rigtigt at vide, at jeg skal angive en gyldig emailadresse.

Jeg kan se to fejlkilder: Enten bliver parametrene ikke
overført korrekt fra din html til maillist.php, eller også
virker din funktion checkmail ikke korrekt. Jeg er ikke
umiddelbart i stand til at udpege problemet.

Du kan se bogle klip af begge dele på
http://pastebin.priber.dk/index.php?show=68, hvor du kan
klikke på de highlightede funktioner og se, hvad de
foretager sig. Jeg ville starte med at tjekke, hvad der står
i $listfile og kontrollere funktionen eregi.

>error_reporting(0);

Denne undertrykker muligvis vigtige fejlmeldinger. Prøv at
ændre den til error_reporting(2047);

>function checkmail ($email)
>{
>   global $listfile;
>   $fd = fopen ($listfile, "r");
>   $contents = fread ($fd, filesize ($listfile));
>   fclose ($fd);
>   
>   if (@stristr($contents,$email))
>      $valid = "invalid";
>   if (eregi("^[_\.0-9a-z-]+@([0-9a-z][-0-9a-z\.]+)\.([a-z]{2,3}$)",
>$email) && !isset($valid))
>      $valid = "valid";
>   else
>      $valid = "invalid";
>   
>   return $valid;
>}
>
>if ($action == "subscribe" && isset($email))
>{
>   $valid = checkmail($email);
>   if ($valid == "valid")
>   {
>      $fp = fopen($listfile, 'a+');
>         flock($fp,2);
>         fwrite($fp,"".strtolower($email).",");
>      fclose($fp);
>      header ("Location: ".$welcome."");
>      exit;
>
>   }
>   else {
>      header ("Location: ".$error."");

Går ud fra, at det er denne, som bliver udført...

>      exit;
>   }
>}   
>
>- håber du kan få lidt ud af det?

Jo, men desværre ikke en færdig løsning. Held og lykke med
fejlsøgningen

mvh Per

Per Riber (23-08-2005)
Kommentar
Fra : Per Riber


Dato : 23-08-05 15:40

Tue, 23 Aug 2005 15:29:36 +0200 skrev Per Riber
<none@nospam.invalid>:

>23 Aug 2005 04:11:57 GMT skrev Preben Larsen
><prelar@stofanet.dk>:

Preben, jeg har fået en idé... Prøv at tilføje følgende
linje i din PHP på det viste sted.

====

>>if ($action == "subscribe" && isset($email))
>>{

   $email = $_POST["email"];

>>   $valid = checkmail($email);
>>   if ($valid == "valid")
>>   {
>>      $fp = fopen($listfile, 'a+');
>>         flock($fp,2);

====

mvh Per

Per Riber (23-08-2005)
Kommentar
Fra : Per Riber


Dato : 23-08-05 16:03

Tue, 23 Aug 2005 16:39:33 +0200 skrev Per Riber
<none@nospam.invalid>:

>Preben, jeg har fået en idé... Prøv at tilføje følgende
>linje i din PHP på det viste sted.
>
>====
>
>>>if ($action == "subscribe" && isset($email))
>>>{
>
>   $email = $_POST["email"];
>
>>>   $valid = checkmail($email);
>>>   if ($valid == "valid")
>>>   {
>>>      $fp = fopen($listfile, 'a+');
>>>         flock($fp,2);
>
>====
>

Ved nærmere eftertanke er det måske smartere at placere den
nye linje lige FØR if-sætningen...

Lad os høre, hvordan det går...

mvh Per

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste