|
| Kommentar Fra : JensT |
Dato : 07-12-03 20:02 |
| | |
| Kommentar Fra : JensT |
Dato : 07-12-03 20:05 |
|
Du kan også lige checke at du har alt kørende, således at du kan vise $login * og $password på skærmen
*) $login er vist det rigtige navn for brugernavn, er det ikke?
http://www.phpsecurepages.com/faq.html#Q9
| |
|
Jeg kan forstå du har været inde på min side og kigge Det er ikke i billed upload man skal kunne få tilsendt sit brugernavn... det er ved adresser og der bruger jeg ikke phpsecurepages...
lav $sub og $bod først
Således at du har:
mail("$mail",$subj,$bod)
Jeg er desværre ikke så meget inde det endnu så det der bliver du nød til at skære ud i pap og ja... jeg har ønsket mig en php/mysql bog i julegave...
| |
|
Du kan også lige checke at du har alt kørende, således at du kan vise $login * og $password på skærmen
Det prøvede jeg lige... den vidste hverken brugernavn eller pass... og brugernavn er det der står i dbase
| |
| Kommentar Fra : JensT |
Dato : 07-12-03 20:37 |
|
OK - ved ikke for meget selv - Men så det må være noget med at du skal have defineret de felter du skal bruge ud af basen.
Prøv at se hvordan dataene hentes i andre af modulerne.
--
Hvad jeg mener omkring $subj og $bod, er at du skal bygge hele teksten op i een variabel $bod (for body=teksten i en e-mail) - Og der så er den tekststreng du sender med mail kommandoen.
Jeg kan forestille mig at Mail kommandoen ikke kan indflette variabler sådan som du prøver at gøre det i koden.
Har du prøvet at spørge ved ham Pauk Kruyt om der evt er lavet et glemt password modul?
| |
|
Nogen andre der har et bud? på hvordan jeg så kunne gøre?
| |
| Kommentar Fra : Grubsnik |
Dato : 10-12-03 12:34 |
|
Hmm, der er del begynderfejl her:
den hurtige løsning er at smide følgene 4 linier ind:
$current_row = mysql_fetch_array($result); //henter den første række (og i dette tilfælde eneste)
$mail = $current_row['mail'];
$brugernavn = $current_row['brugernavn'];
$password = $current_row['password'];
efter linien med:
if ($number > 0) {
Du kan også rette i den resterende kode, og så bare benytte $current_row['variabel navn'] i stedet for $variabel navn
Har du register_globals on?? ellers skal du bruge $_POST['mail'] i din select-statement. (Det kan kraftigt anbefales at have register_globals off (default i php4.?? og op) da det udgør en sikkerhedsrisiko.
sidst men ikke mindst bør du rette:
("select brugernavn, mail, password from navnbase where mail = '$mail'")
til:
("select brugernavn, mail, password from navnbase where mail = ".$mail.";")
jeg går ud fra at cont.php sørger for at oprette en forbindelse til din mysql database.
| |
|
Mange tak... og ja havde på fornemmelsen at det var begynderfejl... Min kode ser nu således ud... (se nedenfor)
Men der kommer følgende fejlmeddelse:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /customers/3103.dk/3103.dk/httpd.www/community2/glemt_ok.php on line 14
(linie 14 er den hvor der står mail)
Det her fatter jeg rent ud sagt ikke
-Har du register_globals on?? ellers skal du bruge $_POST['mail'] i din select-
-statement. (Det kan kraftigt anbefales at have register_globals off (default iphp4.??
-og op) da det udgør en sikkerhedsrisiko.
Og derfor vil jeg tro at den er default men skal jeg skrive $_POST['mail'] der hvor jeg skriver where =
Og så lige et spørgsmål af ren nysgerrighed... hvorfor er der et punktummer og ekstra semikolon i --- >where mail = ".$mail.";")<---?
Her er koden:
<body bgcolor="#C0C0C0">
<?
include("cont.php");
$result = mysql_query("select brugernavn, mail, password from navnbase where mail = ".$mail.";") or die (mysql_error());
$number = mysql_num_rows($result);
if ($number > 0) {
$current_row = mysql_fetch_array($result); //henter den første række (og i dette tilfælde eneste)
$mail = $current_row['mail'];
$brugernavn = $current_row['brugernavn'];
$password = $current_row['password'];
mail("$current_row['mail']","Ditpassword til 3103.dk","
Hej $$current_row['brugernavn']
Her er dit Login og Password til adresser på 3103.dk
Brugernavn: $current_row['brugernavn']
Password: $current_row['password']
Mvh Peter","from: peter@3103.dk");
print "Dine oplysninger er sendt til: $current_row['mail']";
} else {
print "Din Email er desvære ikke registreret her...";
}
?>
Og ja cont.php connecter til min db
| |
| Kommentar Fra : Grubsnik |
Dato : 10-12-03 20:56 |
|
Hej Peter,
for mere information omkring register globals, så kig på følgene link: http://dk2.php.net/register_globals
Omkring mail-funktionen, så ville jeg nok gemme alle parametre i seperate variable før du laver funktionskaldet.
Grunden til at den brokker sig er fordi du ikke har afsluttet en linie med et ;
Det endelige kode bør se nogenlunde sådan her ud:
<body bgcolor="#C0C0C0">
<?php
// "<?php" bruges på systemer der har flere scriptingsprog installeret, så apache ved hvilket sprog der bliver brugt
require("cont.php"); //virker ligesom include, men stopper bare med at køre hvis filen ikke bliver fundet
$result = mysql_query("select brugernavn, mail, password from navnbase where mail = ".$_POST['mail'].";") or die (mysql_error()); // hvis man sætter et . mellem 2 tekststrenge bliver de tilføjet efter hinanden
$number = mysql_num_rows($result);
if ($number > 0)
{
$current_row = mysql_fetch_array($result); //henter den første række (og i dette tilfælde eneste)
$mail = $current_row['mail'];
$brugernavn = $current_row['brugernavn '];
$password = $current_row['password'] ;
$subject = "Ditpassword til 3103.dk";
$message = "Hej ".$brugernavn." \n\n"; // \n betyder ny linie
$message .= "Her er dit Login og Password til adresser på 3103.dk\n\n"; // hvis man bruger .= så tilføjer man i slutningen af en streng
$message .= "Brugernavn: ".$current_row['brugernavn ']."\n";
$message .= "Password: ".$current_row['password']."\n\n";
$message .= "Mvh Peter";
$header = "from: peter@3103.dk";
if(mail($current_row['mail '], $subject, $header) === true) //sikrer at emailen er blevet sendt videre i systemet
{
echo "Dine oplysninger er sendt til: ".$current_row['mail']";
}
else
{
echo "Der er opstået en fejl, sig til Peter at han skal ind på www.kandu.dk igen og spørge hvad der nu er galt ";
}
}
else
{
print "Din Email er desværre ikke registreret her...";
}
?>
</body>
| |
|
Parse error: parse error, expecting `','' or `';'' in /customers/3103.dk/3103.dk/httpd.www/community2/glemt_ok.php on line 28
=== med den linie med dit indslag
Hvad er der nu galt??? Hvor er php dog nøjeregnene lol
Skal på ferie 4 dage så svarer ikke før søndag aften men jeg vil lige på forhånd sige tusind tak
| |
| Kommentar Fra : Grubsnik |
Dato : 10-12-03 23:10 |
|
hmm,
ret:
if(mail($current_row['ma il '], $subject, $header) === true)
til
if(mail($current_row['mail'], $subject, $message, $header))
Den burde stadig virke, og nu vil den nok også sende en meningsfuld besked afsted
Kan selvfølgelig stadig være at der er en eller anden typo jeg har overset, eller kandu's formattering har fået indført.
| |
|
Jeg prøvede men den melder stadig fejl i linie 28... Og ja har prøvet at udrydde nogen af de omformateringer kandu laver... det er lidt irriterende at man ikke kan lave et vindue eller et eller andet man kan sætte det i...
Jeg har rettet den men den melder stadig fejl i line 28...
Kan du ikke bare sende siden som txt eller php som vedhøftet til min mail peter@3103.dk så har vi ihvertfald udelukket Kandus omformateringer...
| |
| Kommentar Fra : Noxi |
Dato : 14-12-03 23:27 |
|
hey i stedet for din mail sætter du
mail("jesper@grov.dk","Ditpassword til 3103.dk",
"Hey ".$current_row['brugernavn']."\n Her er dit Login og Password til adresser på 3103.dk \n Brugernavn: ".$current_row['brugernavn']."\n Password: ".$current_row['password']."Mvh Peter",
"From: peter@3103.dk");
det her ind :D fra start til slut... :D
| |
| Kommentar Fra : kayman |
Dato : 15-12-03 14:13 |
|
Der er stadig et par slåfejl. Bl.a. i din forespørgsel hvor $_POST['mail'] skal være omsluttet af ' ' og her:
echo "Dine oplysninger er sendt til: ".$current_row['mail']"; er et " for meget. Prøv med:
<body bgcolor="#C0C0C0">
<?php
// "<?php" bruges på systemer der har flere scriptingsprog installeret, så apache ved hvilket sprog der bliver brugt
require("cont.php"); //virker ligesom include, men stopper bare med at køre hvis filen ikke bliver fundet
$result = mysql_query("select brugernavn, mail, password from navnbase where mail = '".$_POST['mail']."'") or die (mysql_error()); // hvis man sætter et . mellem 2 tekststrenge bliver de tilføjet efter hinanden
if (mysql_num_rows($result) > 0)
{
$current_row = mysql_fetch_assoc($result); //henter den første række (og i dette tilfælde eneste)
$mail = $current_row['mail'];
$brugernavn = $current_row['brugernavn'];
$password = $current_row['password'];
$subject = "Ditpassword til 3103.dk";
$message = "Hej ".$brugernavn." \n\n"; // \n betyder ny linie
$message .= "Her er dit Login og Password til adresser på 3103.dk\n\n"; // hvis man bruger .= så tilføjer man i slutningen af en streng
$message .= "Brugernavn: ".$brugernavn."\n";
$message .= "Password: ".$password."\n\n";
$message .= "Mvh Peter";
$header = "From: peter@3103.dk";
if(mail($mail, $subject, $header)) //sikrer at emailen er blevet sendt videre i systemet
{
echo "Dine oplysninger er sendt til: ".$mail;
}
else
{
echo "Der er opstået en fejl, sig til Peter at han skal ind på www.kandu.dk igen og spørge hvad der nu er galt";
}
}
else
{
echo "Din Email er desværre ikke registreret her...";
}
?>
</body>
| |
|
Nu har jeg kopieret det ind fra kayman.
Nu virker det igen... dvs jeg får ingen fejlmeddelse... og jeg får et brev... men det eneste der står i brevet
er -
from peter@3103.dk
-
Subject er Ditpassword
og afsender er 3103.dk
Hvad er der nu galt?
Tak for jeres tålmodighed....
Mvh Peter
siden ser nu sådan her ud
<body bgcolor="#C0C0C0">
<?php
// "<?php" bruges på systemer der har flere scriptingsprog installeret, så apache ved hvilket sprog der bliver brugt
require("cont.php"); //virker ligesom include, men stopper bare med at køre hvis filen ikke bliver fundet
$result = mysql_query("select brugernavn, mail, password from navnbase where mail = '".$_POST['mail']."'") or die (mysql_error()); // hvis man sætter et . mellem 2 tekststrenge bliver de tilføjet efter hinanden
if (mysql_num_rows($result) > 0)
{
$current_row = mysql_fetch_assoc($result); //henter den første række (og i dette tilfælde eneste)
$mail = $current_row['mail'];
$brugernavn = $current_row['brugernavn'];
$password = $current_row['password'];
$subject = "Ditpassword til 3103.dk";
$message = "Hej ".$brugernavn." \n\n"; // \n betyder ny linie
$message .= "Her er dit Login og Password til adresser på 3103.dk\n\n"; // hvis man bruger .= så tilføjer man i slutningen af en streng
$message .= "Brugernavn: ".$brugernavn."\n";
$message .= "Password: ".$password."\n\n";
$message .= "Mvh Peter";
$header = "From: peter@3103.dk";
if(mail($mail, $subject, $header)) //sikrer at emailen er blevet sendt videre i systemet
{
echo "Dine oplysninger er sendt til: ".$mail;
}
else
{
echo "Der er opstået en fejl, sig til Peter at han skal ind på www.kandu.dk igen og spørge hvad der nu er galt";
}
}
else
{
echo "Din Email er desværre ikke registreret her...";
}
?>
</body>
| |
| Accepteret svar Fra : kayman | Modtaget 120 point Dato : 15-12-03 21:26 |
|
Hmm, ikke så mærkeligt. Selve meddelelsen skal jo osse ind i mail():
if(mail($mail, $subject, $message, $header)) //sikrer at emailen er blevet sendt videre i systemet
| |
|
Tak for svaret kayman. Jeg havde sgu stirret mig blind på koden... og anede til sidst helt ærligt ikke hvad det var jeg kopierede ind
Men nu virker det som det skal!!! Hvis der er nogen der vil have en kopi at det færdige produkt (Adressekartotek til fam og venner) Skal i bare sende en mail... peter@3103.dk
Endnu engang tak for jeres store hjælp.. og så til dem der ikke lige fik point denne gang... men bare rolig... jeg har på fornemmelsen at jeg kommer frygtetligt tilbage... har nemlig masser af gode ideer men ingen expertise lol
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|