Mail naar sms via mollie probleempje
Via mollie kun je sms bundels kopen, om zodoende via mail een smsje te sturen, dus van mail naar sms.
Nu heb ik een simpel scriptje gemaakt (gedeeltelijk gevonden op internet, gedeeltelijk gescript), maar ik stuit op 2 rare fouten.
1. Hij stuurt het mailtje (smsje dus) 2 of 3 keer
2. Hij telt geen click voor de keren dat reclame word laten zien in mailtje (smsje).
Hier de code zover:
verstuur.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<form action="send.php" onSubmit="return checkData()" NAME="Sms" name="formulier">
Eigen 06 nummer:<br>
<input name="eigennummer" type="text" id="eigennummer"><br>
06 ontvanger:<br>
<input name="nummer" type="text" id="nummer"><br>
Bericht:<br>
<font size="1" face="arial, helvetica, sans-serif"> ( Maximaal 120 tekens. )<br>
<textarea name="bericht" id="bericht" wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.bericht,this.form.remLen,120);" onKeyUp="textCounter(this.form.bericht,this.form.remLen,120);"></textarea>
<br>
<input readonly type=text name=remLen size=3 maxlength=3 value="120"> tekens over.</font>
<br>
<input type="submit" name="Submit" value="Verzenden" name="knop">
<input type="reset" name="Submit2" value="Wissen" name="knop">
</form>
Eigen 06 nummer:<br>
<input name="eigennummer" type="text" id="eigennummer"><br>
06 ontvanger:<br>
<input name="nummer" type="text" id="nummer"><br>
Bericht:<br>
<font size="1" face="arial, helvetica, sans-serif"> ( Maximaal 120 tekens. )<br>
<textarea name="bericht" id="bericht" wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.bericht,this.form.remLen,120);" onKeyUp="textCounter(this.form.bericht,this.form.remLen,120);"></textarea>
<br>
<input readonly type=text name=remLen size=3 maxlength=3 value="120"> tekens over.</font>
<br>
<input type="submit" name="Submit" value="Verzenden" name="knop">
<input type="reset" name="Submit2" value="Wissen" name="knop">
</form>
send.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
//Mail naar sms gedeelte
$recipient=("[email protected]");
$subject="gebruikersnaam=---&wachtwoord=---&afzender=$eigennummer";
$content= $bericht;
//Random reclame scripting
$sql = "SELECT * FROM reclame ORDER BY RAND() LIMIT 0,1";
$res = mysql_query($sql);
$reclame = mysql_fetch_array($res);
$rec = $reclame['reclame'];
$id = $reclame['id'];
mysql_query("UPDATE reclame SET clicks = clicks+1 WHERE ID = $id") or die(mysql_error());
mail("$recipient", "$subject", "$bericht $rec");
echo "<span>Sms succesvol verzonden!<br><a href=\"verstuur.php\">Stuur er nog eentje</a></span>";
?>
//Mail naar sms gedeelte
$recipient=("[email protected]");
$subject="gebruikersnaam=---&wachtwoord=---&afzender=$eigennummer";
$content= $bericht;
//Random reclame scripting
$sql = "SELECT * FROM reclame ORDER BY RAND() LIMIT 0,1";
$res = mysql_query($sql);
$reclame = mysql_fetch_array($res);
$rec = $reclame['reclame'];
$id = $reclame['id'];
mysql_query("UPDATE reclame SET clicks = clicks+1 WHERE ID = $id") or die(mysql_error());
mail("$recipient", "$subject", "$bericht $rec");
echo "<span>Sms succesvol verzonden!<br><a href=\"verstuur.php\">Stuur er nog eentje</a></span>";
?>
SQL voor reclame:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
CREATE TABLE `reclame` (
`id` int(10) NOT NULL auto_increment,
`reclame` varchar(250) NOT NULL default '',
`clicks` varchar(250) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
INSERT INTO `reclame` (`id`, `reclame`, `clicks`) VALUES
(1, '-- verzonden via blabla --', '0');
`id` int(10) NOT NULL auto_increment,
`reclame` varchar(250) NOT NULL default '',
`clicks` varchar(250) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
INSERT INTO `reclame` (`id`, `reclame`, `clicks`) VALUES
(1, '-- verzonden via blabla --', '0');
De includes staan netjes erboven, -- betekend dat ik het vanwege privacy etc even heb gecencureerd.
Kan iemand uitvinden wat er fout is in dit script?
Groeten, Sam
En een VARCHAR is tekst en kan dus niet (op)tellen.
Edit: En verder neem je aan dat alles lukt. Dat kan je beter checken => Foutafhandeling.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
int werkt dan wel?
INT is voor integers (hele getallen)
Gehele verstuur.php
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
40
41
42
43
44
45
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
40
41
42
43
44
45
<SCRIPT>
<!--
function checkData()
{
var correct = true
if (document.Sms.nummer.value == "") {correct = false; alert("Geef aub het nummer in!")}
if (document.Sms.eigennummer.value == "") {correct = false; alert("Geef aub het nummer in!")}
if (document.Sms.bericht.value == "") {correct = false; alert("Geef aub een bericht in")}
if (correct){alert("Het smsje word nu verzonden. Een moment geduld a.u.b")}
return correct }
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
//-->
</script>
<div id="content">
<h2><img src="images/title_video_games.jpg" width="450" height="1" /></h2>
<div class="contentbox">
<span><b>Vul alle velden in om succesvol een smsje te versturen.</b></span><br />
<form action="send.php" onSubmit="return checkData()" NAME="Sms" name="formulier">
Eigen 06 nummer:<br>
<input name="eigennummer" type="text" id="eigennummer"><br>
06 ontvanger:<br>
<input name="nummer" type="text" id="nummer"><br>
Bericht:<br>
<font size="1" face="arial, helvetica, sans-serif"> ( Maximaal 120 tekens. )<br>
<textarea name="bericht" id="bericht" wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.bericht,this.form.remLen,120);" onKeyUp="textCounter(this.form.bericht,this.form.remLen,120);"></textarea>
<br>
<input readonly type=text name=remLen size=3 maxlength=3 value="120"> tekens over.</font>
<br>
<input type="submit" name="Submit" value="Verzenden">
<input type="reset" name="Submit2" value="Wissen">
</form>
</div>
<!--
function checkData()
{
var correct = true
if (document.Sms.nummer.value == "") {correct = false; alert("Geef aub het nummer in!")}
if (document.Sms.eigennummer.value == "") {correct = false; alert("Geef aub het nummer in!")}
if (document.Sms.bericht.value == "") {correct = false; alert("Geef aub een bericht in")}
if (correct){alert("Het smsje word nu verzonden. Een moment geduld a.u.b")}
return correct }
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
//-->
</script>
<div id="content">
<h2><img src="images/title_video_games.jpg" width="450" height="1" /></h2>
<div class="contentbox">
<span><b>Vul alle velden in om succesvol een smsje te versturen.</b></span><br />
<form action="send.php" onSubmit="return checkData()" NAME="Sms" name="formulier">
Eigen 06 nummer:<br>
<input name="eigennummer" type="text" id="eigennummer"><br>
06 ontvanger:<br>
<input name="nummer" type="text" id="nummer"><br>
Bericht:<br>
<font size="1" face="arial, helvetica, sans-serif"> ( Maximaal 120 tekens. )<br>
<textarea name="bericht" id="bericht" wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.bericht,this.form.remLen,120);" onKeyUp="textCounter(this.form.bericht,this.form.remLen,120);"></textarea>
<br>
<input readonly type=text name=remLen size=3 maxlength=3 value="120"> tekens over.</font>
<br>
<input type="submit" name="Submit" value="Verzenden">
<input type="reset" name="Submit2" value="Wissen">
</form>
</div>
ik heb die 2de naam= uit de submit knoppen verwijderd, hij verzond hem zonet nog steeds 2 keer, is ook 2 keer bij de clics opgeteld.
SanThe schreef op 25.11.2008 00:29:
Je formulier heeft 2 keer 'name=...'.
Edit: En verder neem je aan dat alles lukt. Dat kan je beter checken => Foutafhandeling.
Edit: En verder neem je aan dat alles lukt. Dat kan je beter checken => Foutafhandeling.
Met formulier bedoel ik <form NAME="Sms" name="formulier">.
Dat is 2 keer name=....
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
40
41
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
40
41
<SCRIPT>
<!--
function checkData()
{
var correct = true
if (document.formulier.nummer.value == "") {correct = false; alert("Geef aub het nummer in!")}
if (document.formulier.eigennummer.value == "") {correct = false; alert("Geef aub het nummer in!")}
if (document.formulier.bericht.value == "") {correct = false; alert("Geef aub een bericht in")}
if (correct){alert("Het smsje word nu verzonden. Een moment geduld a.u.b")}
return correct }
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
//-->
</script>
<div id="content">
<h2><img src="images/title_video_games.jpg" width="450" height="1" /></h2>
<div class="contentbox">
<span><b>Vul alle velden in om succesvol een smsje te versturen.</b></span><br />
<form action="send.php" onSubmit="return checkData()" name="formulier">
Eigen 06 nummer:<br>
<input name="eigennummer" type="text" id="eigennummer"><br>
06 ontvanger:<br>
<input name="nummer" type="text" id="nummer"><br>
Bericht:<br>
<font size="1" face="arial, helvetica, sans-serif"> ( Maximaal 120 tekens. )<br>
<textarea name="bericht" id="bericht" wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.bericht,this.form.remLen,120);" onKeyUp="textCounter(this.form.bericht,this.form.remLen,120);"></textarea>
<br>
<input readonly type=text name=remLen size=3 maxlength=3 value="120"> tekens over.</font>
<br>
<input type="submit" name="Submit" value="Verzenden">
<input type="reset" name="Submit2" value="Wissen">
</form>
</div>
<!--
function checkData()
{
var correct = true
if (document.formulier.nummer.value == "") {correct = false; alert("Geef aub het nummer in!")}
if (document.formulier.eigennummer.value == "") {correct = false; alert("Geef aub het nummer in!")}
if (document.formulier.bericht.value == "") {correct = false; alert("Geef aub een bericht in")}
if (correct){alert("Het smsje word nu verzonden. Een moment geduld a.u.b")}
return correct }
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
//-->
</script>
<div id="content">
<h2><img src="images/title_video_games.jpg" width="450" height="1" /></h2>
<div class="contentbox">
<span><b>Vul alle velden in om succesvol een smsje te versturen.</b></span><br />
<form action="send.php" onSubmit="return checkData()" name="formulier">
Eigen 06 nummer:<br>
<input name="eigennummer" type="text" id="eigennummer"><br>
06 ontvanger:<br>
<input name="nummer" type="text" id="nummer"><br>
Bericht:<br>
<font size="1" face="arial, helvetica, sans-serif"> ( Maximaal 120 tekens. )<br>
<textarea name="bericht" id="bericht" wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.bericht,this.form.remLen,120);" onKeyUp="textCounter(this.form.bericht,this.form.remLen,120);"></textarea>
<br>
<input readonly type=text name=remLen size=3 maxlength=3 value="120"> tekens over.</font>
<br>
<input type="submit" name="Submit" value="Verzenden">
<input type="reset" name="Submit2" value="Wissen">
</form>
</div>
3 smsjes retour
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
_____________
Geeft niet, iig bedankt voor de hulp. Ik heb zelf nog wat geprutst, andere controlle e.d erop gezet (in php, op de send.php pagina, mocht niet baten helaas), en ik houd er mee op voor vandaag.
Als iemand nog iedeen heeft, of een ander mail script wat wel voor 200% werkt en makkelijk is te implementeren voor dit idee (dus subject code's, telefoon nummers e.d), let me know:)
Gewijzigd op 01/01/1970 01:00:00 door Sam Koster
In plaats van email kan je beter hun API aanspreken, dan heb je teminsten een respons terug of het verzenden wel of niet gelukt is. Werkt ook eenvoudiger als je het aan mij vraagt...
JesseSar schreef op 25.11.2008 07:30:
als je goed ziet, staat er vlak achter $bericht nog een code, $rec. Deze is nodig voor de reclame. dus na bericht haalt hij een random rij uit de database reclame en zet die daarop.