Avatar billede tweak Nybegynder
09. januar 2006 - 11:08 Der er 3 kommentarer og
1 løsning

print virker ikke.?

Jeg har en stump kode fra en mailform jeg har bikset samme som jeg kalder fra <form method="get" action="/mailform.php" osv>

Problemet er at når afsender af mailen til mig får retuneret en takke mail med et link som han skal godkende ikke får vist siden hvor der står:

"din Email adresse blev valideret korrekt"

Hvorfor skriver den ikke dette.?

Her er noget af koden:


if ($_GET['activate']) {
    if (file_exists($validate_file)) {
      $lines = file($validate_file);
      $write_through = array();
      if (count($lines) > 0) {
            $clines = count($lines);
            for ($i = 0;$i < $clines; $i++) {
                list($Email,$time) = explode(":",$lines[$i]);
                if ($time + $timeout > time()) {
                    if ($_GET['hash'] == md5('activate ' . md5($Email))) {
                        mail($admin_email,'Email validated correct','Email: ' . $Email);
        print "din Email adresse blev valideret korrekt";
                        $sendt = true;
                    } else {
                        $write_through[] = $lines[$i];
                    }
                }
            }

            // Write the rest to the file again
            $fp = fopen($validate_file,'w');
            $clines = count($write_through);
            for($i = 0;$i < $clines;$i++) {
                  fwrite($fp,$write_through[$i]);
            }
      }
    }   

    if (!$sendt) {
        print "Der gik noget galt. din mail er ikke blevet sendt";
Avatar billede tweak Nybegynder
09. januar 2006 - 11:25 #1
Der bliver lavet dette link <http://www.xxx.dk/mailform.php?activate=xxx@xxx.dk&hash=0dcb95b0de565929ec7ad77a36e3f4a5>

Men man får blot vis en tom side.?
Avatar billede tweak Nybegynder
09. januar 2006 - 12:20 #2
Her er hele koden. Hvis stien til $validate_file ikke er rigtig kommer den med fejlen: "Logfilen findes ikke, eller scriptet kan ikke læse eller skrive til den" som den skal, men når en bruger skal godkende via linket i hans mail kommer den blot op med en tom side, mail adr. bliver fint skrevet til 'email.txt' men jeg får heller ingen mail om at brugeren har godkendt at det er ham som er indehavere af mailen.


<?
$admin_email = 'xxx@xxx.dk';

// A file used to store the Emails not validated
$validate_file = 'email.txt';

// Timeout
$timeout = 60*30;

if (!(file_exists($validate_file) && is_readable($validate_file) && is_writeable($validate_file))) {
    print "Logfilen findes ikke, eller scriptet kan ikke læse eller skrive til den";
    exit();
}

if ($_GET['activate']) {
    if (file_exists($validate_file)) {
      $lines = file($validate_file);
      $write_through = array();
      if (count($lines) > 0) {
            $clines = count($lines);
            for ($i = 0;$i < $clines; $i++) {
                list($Email,$time) = explode(":",$lines[$i]);
                if ($time + $timeout > time()) {
                    if ($_GET['hash'] == md5('activate ' . md5($Email))) {
                        mail($admin_email,'Email validated correct','Email: ' . $Email);
print "din email adresse blev valideret korrekt";

                        $sendt = true;
                    } else {
                        $write_through[] = $lines[$i];
                    }
                }
            }

            // Write the rest to the file again
            $fp = fopen($validate_file,'w');
            $clines = count($write_through);
            for($i = 0;$i < $clines;$i++) {
                  fwrite($fp,$write_through[$i]);
            }
      }
    }   

    if (!$sendt) {
print "Der gik noget galt. din mail er ikke blevet sendt";
    }
} elseif($_GET['Email']) {
    $activate_hash = md5('activate ' . md5($_GET['Email']));
    $link = $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'] . '?activate=' . $_GET['Email'] . '&hash=' . $activate_hash;

    if (file_exists($validate_file)) {
        $fp = fopen($validate_file,'a+');
        fwrite($fp,sprintf("\n%s:%s",$_GET['Email'],time()));
    }

?>
Avatar billede tweak Nybegynder
09. januar 2006 - 12:54 #3
Jeg fårstår det sq ikke http://www.xxx.dk/mailform.php?activate=xxx@xxx.dk&hash=0dcb95b0de565929ec7ad77a36e3f4a5

sender jo ham til mailform.php som så skal udskrive "din email adresse blev valideret korrekt"

Eller hvad
Avatar billede tweak Nybegynder
09. januar 2006 - 13:31 #4
Løst :(
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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