Help met beginnen
Het probleem is onze leerkracht PHP is niet van de beste en kan er zelf niet zo overdreven veel van.
Nu moeten we aan gedurende het hele jaar werken aan een webshop die we in elkaar moeten steken en heb al flink wat in elkaar geknutseld in HTML nu wil ik aan de bijhorende PHP code beginnen ..
Heb al wat beginner tutorials gevolgd maar geraak maar niet goed van start.
Daarom de vraag of iemand goede site's kent voor PHP deftig te leren ?
Alvast Bedankt ..
Dus kijk eens hier: http://www.phphulp.nl/php/tutorials/
Vooral deze: http://www.phphulp.nl/php/tutorial/overig/php-beginners-handleiding/575/
Een andere aanrader: http://www.phptuts.nl/view/39/
Maar een hele webshop is nogal wat.
Inclusief betalingen/leden/iDeal en zo?
Want er bestaan al diverse (gratis) webshops... beetje 13.000 wiel in een dozijn ;)
Eddy, even wat duidelijk maken: Joren de Wit === Eigenaar en schrijver van alle phptuts. PHP beginnershandleiding op PHPHulp === phptuts PHP beginnershandleiding (waar de phptuts versie iets up to dater kan zijn).
Kunnen registeren => Database
Inloggen..
Bestelling Plaatsen en Factuur aanmaken ..
We krijgen herbij wel nog hulp van de nodige leerkrachten maar ze zijn niet allemaal even goed.
Heb tot nu toe al een formulier kunnen maken voor te registreren waarvan de gegevens in een MySQL database terrecht komen. Aan de hand van de tutorials vn Joren De wit etc. Het probleem vooral is dat ik als er gegevens ontbreken en dergelijke ik dit op een propere manier wil weergeven in het formulier zelf. Dat er een foutmelding komt naast te betreffende inputbox en niet allemaal van onder bij elkaar zoals de meeste tuts dit doen.
En hier weet ik niet goed aan te beginnen...
Nog mooier is om dat ook meteen een afwijkende stijl (rood) mee te geven in je CSS om dit nog beter te benadrukken.
Mijn de code achter het formulier ziet er als volgt uit :
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Arrays voor opslag van fouten en data
$aErrors = array();
$aData = array();
//Velden die aanwezig moeten zijn.
$aFormuliervelden = array('achternaam','voornaam','geboorte-datum','straatnaam','gemeente','postcode','e-mail','wachtwoord');
//Alle Formulier Velden doorlopen
foreach($aFormuliervelden As $sVeld)
{
// Controleren of er een waarde voor het veld bestaat
if(isset($_POST[$sVeld]))
{
// Spaties weghalen
$sValue = trim($_POST[$sVeld]);
//Controle of variabele gevuld is
if($sValue == '')
{
//Foutmelding toevoegen
$aErrors[] = 'Je bent vergeten om '.$sVeld.'in te vullen';
}
// Ingevulde waarden aan array $aData toevoegen
$aData[$sVeld] = $sValue ;
}
else
{
$aErrors[] = 'Het veld '.$sVeld.' is niet gepost';
}
}
// Controleren of er geen fouten opgetreden zijn
if(empty($aErrors))
{
//Formulier Succes
$achternaam = mysql_real_escape_string($aData['achternaam']);
$voornaam = mysql_real_escape_string($aData['voornaam']);
$geboortedatum = mysql_real_escape_string($aData['geboorte-datum']);
$straatnaam = mysql_real_escape_string($aData['straatnaam']);
$gemeente = mysql_real_escape_string($aData['gemeente']);
$postcode = mysql_real_escape_string($aData['postcode']);
$email = mysql_real_escape_string($aData['e-mail']);
$wachtwoord = mysql_real_escape_string($aData['wachtwoord']);
$sql_insert_user = "
INSERT INTO tblklanten
(
klantnr,
achternaam,
voornaam,
geboortedatum,
adres,
postcode,
gemeente,
email,
wachtwoord
)
VALUES
(
'',
'".$achternaam."',
'".$voornaam."',
'".$geboortedatum."',
'".$straatnaam."',
'".$postcode."',
'".$gemeente."',
'".$email."',
'".$wachtwoord."'
)";
# Check of query is gelukt
if (($result_insert_user = mysql_query($sql_insert_user)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql_insert_user,mysql_error(),'Fout bij het invoegen van de gebruiker.');
}
else
{
# De query is gelukt! :)
$gelukt = '<p style="color:green">Gebruiker succesvol toegevoegd</p>';
}
}
else
{
//Fouten opgetreden: Fouten weergeven en terug naar formulier
foreach($aErrors as $sError)
{
echo '<p style="color:red">'.$sError.'</p>';
}
}
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Arrays voor opslag van fouten en data
$aErrors = array();
$aData = array();
//Velden die aanwezig moeten zijn.
$aFormuliervelden = array('achternaam','voornaam','geboorte-datum','straatnaam','gemeente','postcode','e-mail','wachtwoord');
//Alle Formulier Velden doorlopen
foreach($aFormuliervelden As $sVeld)
{
// Controleren of er een waarde voor het veld bestaat
if(isset($_POST[$sVeld]))
{
// Spaties weghalen
$sValue = trim($_POST[$sVeld]);
//Controle of variabele gevuld is
if($sValue == '')
{
//Foutmelding toevoegen
$aErrors[] = 'Je bent vergeten om '.$sVeld.'in te vullen';
}
// Ingevulde waarden aan array $aData toevoegen
$aData[$sVeld] = $sValue ;
}
else
{
$aErrors[] = 'Het veld '.$sVeld.' is niet gepost';
}
}
// Controleren of er geen fouten opgetreden zijn
if(empty($aErrors))
{
//Formulier Succes
$achternaam = mysql_real_escape_string($aData['achternaam']);
$voornaam = mysql_real_escape_string($aData['voornaam']);
$geboortedatum = mysql_real_escape_string($aData['geboorte-datum']);
$straatnaam = mysql_real_escape_string($aData['straatnaam']);
$gemeente = mysql_real_escape_string($aData['gemeente']);
$postcode = mysql_real_escape_string($aData['postcode']);
$email = mysql_real_escape_string($aData['e-mail']);
$wachtwoord = mysql_real_escape_string($aData['wachtwoord']);
$sql_insert_user = "
INSERT INTO tblklanten
(
klantnr,
achternaam,
voornaam,
geboortedatum,
adres,
postcode,
gemeente,
email,
wachtwoord
)
VALUES
(
'',
'".$achternaam."',
'".$voornaam."',
'".$geboortedatum."',
'".$straatnaam."',
'".$postcode."',
'".$gemeente."',
'".$email."',
'".$wachtwoord."'
)";
# Check of query is gelukt
if (($result_insert_user = mysql_query($sql_insert_user)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql_insert_user,mysql_error(),'Fout bij het invoegen van de gebruiker.');
}
else
{
# De query is gelukt! :)
$gelukt = '<p style="color:green">Gebruiker succesvol toegevoegd</p>';
}
}
else
{
//Fouten opgetreden: Fouten weergeven en terug naar formulier
foreach($aErrors as $sError)
{
echo '<p style="color:red">'.$sError.'</p>';
}
}
}
?>
Dus de Errors worden eigenlijk ik een Array gestopot dit maakt het voor mij te ingewikkeld om dan de juiste error op de juiste plaats te weergeven ..
Gewijzigd op 16/11/2012 17:23:13 door Sam Schuddinck
Alvast bedankt.
Gewijzigd op 16/11/2012 17:19:10 door - Ariën -
Zo is gebeurd ..
Het in een array plaatsen is overigens niet echt nodig. Ik weet niet hoe je formulier eruit ziet, maar bij die velden zou je dan de controle kunnen plaatsen.
En dan naast de inputbox te controleren door :
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
if(isset(Error['inputbox1']))
{
echo 'V'
}
else
{
echo 'Dit veld is niet goed ingevuld'
}
{
echo 'V'
}
else
{
echo 'Dit veld is niet goed ingevuld'
}
?
zou kunnen, waar Error vandaan komt ontgaat me even....