Avatar billede stengaard Praktikant
21. januar 2008 - 19:18 Der er 14 kommentarer og
1 løsning

MMM hvad gør jeg forkert

den skriver godt nok af en mail er sendt til mig med et password men ingen mail kommer

forgot.php

<form action="forgot.php" method="post" name="forgot">   
                                <input type="text" name="user" value="<?php echo $row['user']; ?>" size="20">
   
<input type="submit" name="submit" value="Få Tilsendt dit Password">                           
</form>

forgot.php

                           
<?php
include("access.php");
$sql="SELECT pass, email FROM login WHERE user ='$user'";
$r = mysql_query($sql);
if(!$r) {
$err=mysql_error();
print $err;
exit();
}
if(mysql_affected_rows()==0){
print "Dit brugernavn findes ikke i vores system.";
exit();
}
else {
$row=mysql_fetch_array($r);
$password=$row["password"];
$email=$row["email"];

$subject="Du har bedt om dit password til domain.dk";
$header="from:webmaster@domain.dk";
$content="Dit Password er: ".$password;
mail($email, $subject, $row, $header);

print "Der er blevet sendt en mail til dig med dit password";
}
?>

access.php

<?PHP
mysql_connect("localhost", "xxxx_xxxx", "xxxxxx");
mysql_select_db("xxxx_xxxx");
?>
Avatar billede 44fire44 Nybegynder
21. januar 2008 - 21:46 #1
$content="Dit Password er: ".$password;

mangler der ikke en " efter .$password ?
Avatar billede 44fire44 Nybegynder
21. januar 2008 - 21:48 #2
der er en ring der undrer mig lidt

du smider $email, $subject, $row og $header ind i din mail, men ikke $content?
Avatar billede 44fire44 Nybegynder
21. januar 2008 - 21:48 #3
ting*
Avatar billede stengaard Praktikant
22. januar 2008 - 12:11 #4
tror måske jeg har fundet fejlen $content="Dit Password er: ".$password;- skal være $content="Dit Password er: ".$pass; tror jeg prøver det senere

men ja bruger ikke content i mailen nok en fejl
Avatar billede 44fire44 Nybegynder
22. januar 2008 - 14:20 #5
hmm - det tror jeg altså ikke - for du bruger jo

$password=$row["password"];

til at hente row=password ud - så skal det da være fordi at din tabel i databasen hedder pass - så skal $password=$row["password"]; jo bare være: $password=$row["pass"];
Avatar billede stengaard Praktikant
22. januar 2008 - 21:18 #6
ja det var det jeg mente da tablen password hedder pass
Avatar billede 44fire44 Nybegynder
22. januar 2008 - 22:59 #7
okay ;) - det var jo ikke nemt for mig at vide :P

Men husk lige at tilføje den i mailen også - ellers har du jo ingen glæde af det :)
- hvis det stadig ikke virker tager vi den bare derfra
Avatar billede stengaard Praktikant
23. januar 2008 - 11:26 #8
mmm det ser således ud men der kommer ikke nogen mail, men den kommer med oplysningen om at brugernavnet fundet sender en mail, hvis man taster et brugernavn der ikke findes skriver den også at brugernavnet ikke findes men delen med mail virker ikke helt men ved ikke hvorfor

table

CREATE TABLE `login` (
  `ID` int(11) NOT NULL auto_increment,
  `user` varchar(50) NOT NULL default '',
  `pass` varchar(25) NOT NULL default '',
  `navn` varchar(51) NOT NULL default 'Ikke oplyst',
  `member` text NOT NULL,
  `adresse` text NOT NULL,
  `postnr` varchar(4) NOT NULL default '',
  `kommune` text NOT NULL,
  `mobil` varchar(8) NOT NULL default '',
  `foedselsdag` char(2) NOT NULL default '00',
  `aar` varchar(4) NOT NULL default '',
  `maaned` varchar(14) NOT NULL default '',
  `image` varchar(100) NOT NULL default '',
  `email` varchar(50) NOT NULL default '',
  `tid` datetime NOT NULL default '0000-00-00 00:00:00',
  `last_login` datetime NOT NULL default '0000-00-00 00:00:00',
  `oprettetaf` text NOT NULL,
  PRIMARY KEY  (`ID`),
  UNIQUE KEY `idx_brugere` (`user`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0 AUTO_INCREMENT=10 ;

formen.php

<form action="forgot.php" method="post" name="forgot">
  <label for="Brugernavn">Brugernavn:</label>
  <input type="text" name="user" value="<?php echo (isset($_POST['user'])) ? $_POST['user'] : ""; ?>">
  <input type="submit" name="Submit" value="Submit">
</form>


forgot.php

<?php
include("access.php");
$sql="SELECT pass, email FROM login WHERE user ='$user'";
$r = mysql_query($sql);
if(!$r) {
$err=mysql_error();
print $err;
exit();
}
if(mysql_affected_rows()==0){
print "<b>Brugernavnet du har tasten findes ikke i vores system.</b><br><br>Prøv igen <a href='glemt.php'>her</a></b>";
exit();
}
else {
$row=mysql_fetch_array($r);
$password=$row["pass"];
$email=$row["email"];

$subject="Du har bedt om dit password til domain";
$header="from:webmaster@domain.dk";
$content="Dit Password er: ".$password;
mail($email, $subject, $row, $header, $content);

print "<b>Der er blevet sendt en mail til dig med dit password</b><br><br>Kig i dit mailprogram og klik på login forneden så skulle du være kørene igen";
}
?>
Avatar billede 44fire44 Nybegynder
23. januar 2008 - 22:02 #9
prøv at ædre "mail" til "print" her

$content="Dit Password er: ".$password;
mail($email, $subject, $row, $header, $content);

hvad skriver den så?
Avatar billede stengaard Praktikant
23. januar 2008 - 23:08 #10
har ændret::

$content="Dit Password er: ".$password;
mail($email, $subject, $row, $header, $content);

print "<b>Der er blevet sendt en mail til dig med dit password</b><br><br>Kig i dit mailprogram og klik på login forneden så skulle du være kørene igen";
}
?>

så bliver skærmen hvid ??
Avatar billede stengaard Praktikant
23. januar 2008 - 23:09 #11
til selvfølgelig

$content="Dit Password er: ".$password;
print ($email, $subject, $row, $header, $content);

print "<b>Der er blevet sendt en mail til dig med dit password</b><br><br>Kig i dit mailprogram og klik på login forneden så skulle du være kørene igen";
}
?>
Avatar billede 44fire44 Nybegynder
24. januar 2008 - 08:03 #12
jeg vender lige tilbage senere idag, håber jeg, når jeg engang kommer hjem :)
Avatar billede 44fire44 Nybegynder
24. januar 2008 - 08:53 #13
fejlen er at din mail() funktion sikkert er i safemode hos din webudbyder - det betyder at du ikke han bruge "the fifth element" - altså 5 elementer i din mailfunktion

jeg har afprøvet og testet det her på min egen server:

<?php

include('access.php');

$sql="SELECT pass, email FROM login WHERE user ='$user'";
$r = mysql_query($sql);
if(!$r) {
$err=mysql_error();
print $err;
exit();
}
if(mysql_affected_rows()==0){
print "<b>Brugernavnet du har tasten findes ikke i vores system.</b><br><br>Prøv igen <a href='glemt.php'>her</a></b>";
exit();
}
else {
$row=mysql_fetch_array($r);
$password=$row["pass"];
$email=$row["email"];

$subject="Du har bedt om dit password til domain";
$header="from:webmaster@domain.dk";
$content="Dit Password er: ".$password;
mail($email, $subject, $content, $header);

print "<b>Der er blevet sendt en mail til dig med dit password</b><br><br>Kig i dit mailprogram og klik på login forneden så skulle du være kørene igen";
}
?>

($row giver ingen funktion, så den er fjernet og erstattet med $content)
Avatar billede 44fire44 Nybegynder
24. januar 2008 - 08:54 #14
det skulle være et svar :)
Avatar billede stengaard Praktikant
28. januar 2008 - 11:33 #15
jeg takker det virker
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