mail(); functie werkt niet met prep($sObj->email)
Mijn mail(); functie werkt niet als ik de email definier met: $EmailTo = prep($sObj->email);
Als ik $EmailTo = "[email protected]"; plaats werkt alles prima.
Als ik prep($sObj->email) oproep werkt dat ook prima.
Hoe krijg ik dit in de mail functie?
Ik heb ookal geprobeerd om er een variabele van te maken en die op te roepen, maar zonder succes...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
if(isset($_GET['action'])=='submitfunc') {
$EmailTo = prep($sObj->email);
$Subject = "The reason why your submission got rejected.";
$Message = Trim(stripslashes($_POST['Message']));
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <[email protected]>' . "\r\n";
// prepare email body text
$Body = "";
$Body.= "Message: ";
$Body.= $Message;
// send email
$success = mail($EmailTo,$Subject,$Body,$headers);
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=succes.php\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
}else { ?>
<div class="emailrejection">
<form method="post" action="?action=submitfunc">
Dear <?php prep($sObj->username); ?>, <br>
<textarea placeholder="Describe why the image got rejected.." name="Message" rows="3" cols="20" id="Message"></textarea> <br>
All the best,<br>
Moderator <?php prep($uObj->username); ?><br>
<input type="submit" name="submit" value="No + send message" class="btn btn-large btn-danger" />
</form>
</div>
<?php }
?>
if(isset($_GET['action'])=='submitfunc') {
$EmailTo = prep($sObj->email);
$Subject = "The reason why your submission got rejected.";
$Message = Trim(stripslashes($_POST['Message']));
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <[email protected]>' . "\r\n";
// prepare email body text
$Body = "";
$Body.= "Message: ";
$Body.= $Message;
// send email
$success = mail($EmailTo,$Subject,$Body,$headers);
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=succes.php\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
}else { ?>
<div class="emailrejection">
<form method="post" action="?action=submitfunc">
Dear <?php prep($sObj->username); ?>, <br>
<textarea placeholder="Describe why the image got rejected.." name="Message" rows="3" cols="20" id="Message"></textarea> <br>
All the best,<br>
Moderator <?php prep($uObj->username); ?><br>
<input type="submit" name="submit" value="No + send message" class="btn btn-large btn-danger" />
</form>
</div>
<?php }
?>
Gewijzigd op 03/07/2016 09:51:12 door - Ariën -
PS: En verder hebben we ook code-tags op het forum hier waar je scripts tussen hoort te plaatsen.
- Ariën - op 03/07/2016 09:39:05:
Echo die functie eens? Wat zit erin?
PS: En verder hebben we ook code-tags op het forum hier waar je scripts tussen hoort te plaatsen.
PS: En verder hebben we ook code-tags op het forum hier waar je scripts tussen hoort te plaatsen.
Als ik hem zo oproep: geeft hij het email adres van de gebruiker weer.
De fout zit hem volgens mij ergens dat er een stukje extra code bijzit? Zoals een echo ofzo? Is dat mogelijk?
Hoe kan ik enkel die waarde in en variabele zetten?
Gewijzigd op 03/07/2016 09:50:56 door laurenz laeremans
Pas in de prep() functie de echo eens aan naar een return.
- Ariën - op 03/07/2016 09:50:32:
Pas in de prep() functie de echo eens aan naar een return.
Dit is de prep() function.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
if ( ! function_exists('prep'))
{
/**
* echo & htmlspecialchar string
*
* @access public
* @param string $line
* @param boolean $return
* @return string
*/
function prep($line, $return = FALSE)
{
$line = htmlspecialchars(htmlspecialchars_decode($line));
if ($return === FALSE)
{
echo $line;
}
else
{
return $line;
}
}
}
?>
if ( ! function_exists('prep'))
{
/**
* echo & htmlspecialchar string
*
* @access public
* @param string $line
* @param boolean $return
* @return string
*/
function prep($line, $return = FALSE)
{
$line = htmlspecialchars(htmlspecialchars_decode($line));
if ($return === FALSE)
{
echo $line;
}
else
{
return $line;
}
}
}
?>
Gewijzigd op 03/07/2016 09:55:13 door laurenz laeremans
echo wordt dan return, zoals ik al zei. ;-)
Alvast enorm bedankt voor je hulp!
Kan ik de mail ook niet inladen zonder die prep functie?
Bijvoorbeeld zoiets? (Deze code werkt niet)
$EmailTo = $sObj->email;
Wat zit er in $sObj->email als je deze buiten je functie om echo'd? En waar komt $sObj vandaan?
- Ariën - op 03/07/2016 10:13:35:
Wat zit er in $sObj->email als je deze buiten je functie om echo'd? En waar komt $sObj vandaan?
Excuseer, je had wel gelijk!
De return heeft het inderdaad opgelost.
Ik had zelf een klein typfoutje gemaakt.
Enorm bedankt Ariën!
Vreemde vergelijking.
Isset() geeft true of false terug en dat ga je vergelijken met een tekst.