mail script
John breedveld op 23/12/2012 15:04:48:
in sommige dingen ben ik weer goed van php maar vergt mijn veel moeite
wat is het beging van php en waar is eind ik leer veel van jullie
en door te zoeken op google en stukken script aan te passen aan me wensen
soms lukt dit niet om dat de kenis ontbreekt
wat is het beging van php en waar is eind ik leer veel van jullie
en door te zoeken op google en stukken script aan te passen aan me wensen
soms lukt dit niet om dat de kenis ontbreekt
Nee john, het einde van PHP bestaat niet. Elke keer komt er wel iets nieuws uit, dus wat je zegt over waar is het einde klopt niet. ALs je geen basis kent, kijk dan op w3schools, een site die je erg veel kan helpen, hoef je ook geen boek te kopen. Zoals andere zeiden: ga het of leren, of plaats een vacature :)
Quote:
w3schools, een site die je erg veel kan helpen, hoef je ook geen boek te kopen. Zoals andere zeiden: ga het of leren, of plaats een vacature :)
Dat zou ik nou net niet als advies geven. :)
w3c is nou niet echt een site die dingen uitermate goed aanleert. Maar dat is mijn persoonlijke mening.
John, wat je moet doen is gewoon gaan php-en.
Niet gaat lopen klungelen met bestaande scripts ala copy/past pray if it works, maar gewoon zelf gaan schrijven.
Hoe meer foutmeldingen je om de oren krijgt hoe meer je ervan leert.
Als de frustratie dusdanig hoog oploopt ben je eigenlijk bijna altijd op de goede weg.
Om dit te bereiken moet je eerst gewoon simpel een potlood en papier nemen.
Ga eerst eens opschrijven wat je script nu precies moet doen. (dus wat in jou ogen het meest logische klinkt)
Stel je wil een formulier gaan posten en mailen:
- we maken een formulier
- O ja, als we het in een script maken, moet boven het formulier het php script komen want daar moeten ook nog wat controles worden gedaan.
- Als alle controlles worden gedaan, dan moet er nog iets van mail gedaan worden.
- hmm... daar tussen moet dus ook nog iets met de database worden gedaan..
Zo, dat is de theorie...
Dus in code:
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
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
<?php
// script moet wat kunnen posten
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
// om te checken of alles van het formulier aankomt
echo '<pre>';
print_r($_POST);
echo '</pre>';
// we moeten iets hebben om de foutmeldingen op te vangen
$errors = array();
// controlles doen ( hint isset(), trim() )
// alles ok? dan gaan we eventueel inserten
$conn = mysql_connect('localhost', 'username', 'pass');
$db = mysql_select_db('databasename');
//query uitvoeren
$sql = "INSERT INTO tabel(kolom,
nogeen
)
VALUES('".mysql_real_escape_string($_POST['value'])."',
'".mysql_real_escape_string($_POST['othervalue'])."'
)";
$result = mysql_query($sql);
// met een if checken of alles lukt..
// zo niet, debuggen
echo $sql;
// wel, mailen
mail();
}
?>
html fomulier...
// script moet wat kunnen posten
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
// om te checken of alles van het formulier aankomt
echo '<pre>';
print_r($_POST);
echo '</pre>';
// we moeten iets hebben om de foutmeldingen op te vangen
$errors = array();
// controlles doen ( hint isset(), trim() )
// alles ok? dan gaan we eventueel inserten
$conn = mysql_connect('localhost', 'username', 'pass');
$db = mysql_select_db('databasename');
//query uitvoeren
$sql = "INSERT INTO tabel(kolom,
nogeen
)
VALUES('".mysql_real_escape_string($_POST['value'])."',
'".mysql_real_escape_string($_POST['othervalue'])."'
)";
$result = mysql_query($sql);
// met een if checken of alles lukt..
// zo niet, debuggen
echo $sql;
// wel, mailen
mail();
}
?>
html fomulier...
Zie je? Dat maakt het een stuk makkelijker dan zonder plan. :)
Gewijzigd op 23/12/2012 17:43:34 door Bart V B
Zet bovenaan het script error-reporting aan.
1 van de controles is checken of waarden die gepost zouden moeten worden ook daadwerkelijk bestaan, voor je ze in een query gebruikt.
Lees ook de commentaar regels; zorg bv voor foutafhandeling (regel 27 hierboven).
Voor mail zou ik dan verwijzen naar phpmailer of swiftmailer of problemen met bv. headers-instellingen te voorkomen.