PHP code in classes
Hoe schrijf ik het beste deze PDO code in classes?
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
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
<form method="post" enctype='multipart/form-data'>
<table class="table-fill">
<thead>
<tr>
<th class="text-left">Film:</th>
<th class="text-left">
<input style="text" name="txtFilm">
</th>
</tr>
</thead>
<tbody class="table-hover">
<tr>
<td class="text-left">Genre:</td>
<td class="text-left">
<select name="Genre">
<option value="Actie">Actie</option>
<option value="Fantasie">Fantasie</option>
<option value="Horror">Horror</option>
<option value="Avontuur">Avontuur</option>
<option value="Komedie">Komedie</option>
<option value="Romantiek">Romantiek</option>
<option value="Historisch">Historisch</option>
</select>
</td>
</tr>
<tr>
<td class="text-left">Film omschrijving:</td>
<td class="text-left">
<textarea style="width:100%;resize:none;height:200px;" type="text" name="txtFilmomschrijving"></textarea>
</td>
</tr>
<tr>
<td class="text-left">Datum van uitkomst:</td>
<td class="text-left">
<input type="date" name="uitkomstdate">
</td>
</tr>
<tr>
<td class="text-left">Datum uit bioscoop:</td>
<td class="text-left">
<input type="date" name="Biosdate">
</td>
</tr>
<tr>
<td class="text-left">Film draai dagen:</td>
<td class="text-left">
<input type="checkbox" value="Maandag" name="draaidag[]">Maandag
<input type="checkbox" value="Dinsdag" name="draaidag[]">Dinsdag
<input type="checkbox" value="Woensdag" name="draaidag[]">Woensdag
<input type="checkbox" value="Donderdag" name="draaidag[]">Donderdag
<input type="checkbox" value="Vrijdag" name="draaidag[]">Vrijdag
<input type="checkbox" value="Zaterdag" name="draaidag[]">Zaterdag
<input type="checkbox" value="Zondag" name="draaidag[]">Zondag</td>
</tr>
<tr>
<td class="text-left">Film tijd dagen:</td>
<td class="text-left">
<input type="checkbox" value="12uur" name="tijddagen[]">12:00
<input type="checkbox" value="14uur" name="tijddagen[]">14:00
<input type="checkbox" value="16uur" name="tijddagen[]">16:00
<input type="checkbox" value="18uur" name="tijddagen[]">18:00
<input type="checkbox" value="20uur" name="tijddagen[]">20:00
<input type="checkbox" value="22uur" name="tijddagen[]">22:00
<input type="checkbox" value="24uur" name="tijddagen[]">24:00 </td>
</tr>
<tr>
<td class="text-left">Zaal:</td>
<td class="text-left">
<select name="zaal">
<option value="normaal">Normaal</option>
<option value="groot">Groot</option>
</select>
</tr>
<tr>
<td class="text-left">Film afbeelding:</td>
<td class="text-left">
<input type="file" name="filmafbeelding" id="filmafbeelding">
</td>
</tr>
<tr>
<td class="text-left"></td>
<td class="text-left">
<center>
<input type="submit" value="Film toevoegen" name="submit">
</center>
</td>
</tr>
</tbody>
</table>
</form>
<table class="table-fill">
<thead>
<tr>
<th class="text-left">Film:</th>
<th class="text-left">
<input style="text" name="txtFilm">
</th>
</tr>
</thead>
<tbody class="table-hover">
<tr>
<td class="text-left">Genre:</td>
<td class="text-left">
<select name="Genre">
<option value="Actie">Actie</option>
<option value="Fantasie">Fantasie</option>
<option value="Horror">Horror</option>
<option value="Avontuur">Avontuur</option>
<option value="Komedie">Komedie</option>
<option value="Romantiek">Romantiek</option>
<option value="Historisch">Historisch</option>
</select>
</td>
</tr>
<tr>
<td class="text-left">Film omschrijving:</td>
<td class="text-left">
<textarea style="width:100%;resize:none;height:200px;" type="text" name="txtFilmomschrijving"></textarea>
</td>
</tr>
<tr>
<td class="text-left">Datum van uitkomst:</td>
<td class="text-left">
<input type="date" name="uitkomstdate">
</td>
</tr>
<tr>
<td class="text-left">Datum uit bioscoop:</td>
<td class="text-left">
<input type="date" name="Biosdate">
</td>
</tr>
<tr>
<td class="text-left">Film draai dagen:</td>
<td class="text-left">
<input type="checkbox" value="Maandag" name="draaidag[]">Maandag
<input type="checkbox" value="Dinsdag" name="draaidag[]">Dinsdag
<input type="checkbox" value="Woensdag" name="draaidag[]">Woensdag
<input type="checkbox" value="Donderdag" name="draaidag[]">Donderdag
<input type="checkbox" value="Vrijdag" name="draaidag[]">Vrijdag
<input type="checkbox" value="Zaterdag" name="draaidag[]">Zaterdag
<input type="checkbox" value="Zondag" name="draaidag[]">Zondag</td>
</tr>
<tr>
<td class="text-left">Film tijd dagen:</td>
<td class="text-left">
<input type="checkbox" value="12uur" name="tijddagen[]">12:00
<input type="checkbox" value="14uur" name="tijddagen[]">14:00
<input type="checkbox" value="16uur" name="tijddagen[]">16:00
<input type="checkbox" value="18uur" name="tijddagen[]">18:00
<input type="checkbox" value="20uur" name="tijddagen[]">20:00
<input type="checkbox" value="22uur" name="tijddagen[]">22:00
<input type="checkbox" value="24uur" name="tijddagen[]">24:00 </td>
</tr>
<tr>
<td class="text-left">Zaal:</td>
<td class="text-left">
<select name="zaal">
<option value="normaal">Normaal</option>
<option value="groot">Groot</option>
</select>
</tr>
<tr>
<td class="text-left">Film afbeelding:</td>
<td class="text-left">
<input type="file" name="filmafbeelding" id="filmafbeelding">
</td>
</tr>
<tr>
<td class="text-left"></td>
<td class="text-left">
<center>
<input type="submit" value="Film toevoegen" name="submit">
</center>
</td>
</tr>
</tbody>
</table>
</form>
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
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
<?php
if(isset($_POST["submit"])){
$hostname='localhost';
$username='root';
$password='';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=fastmovierenessefrank",$username,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line
$filmimage =$_FILES["filmafbeelding"]["name"];
$filmimagemap = "images/";
$filmimagedoel = $filmimagemap.$filmimage;
$draaidagen = $_POST['draaidag'];
$draaidag="";
foreach($draaidagen as $draaidagcheck)
{
$draaidag.= $draaidagcheck.",";
}
$tijddagen = $_POST['tijddagen'];
$tijddag="";
foreach($tijddagen as $tijddagcheck)
{
$tijddag.= $tijddagcheck.",";
}
//film moet in de map /bioscoop/banner/ of /bioscoop/images/ staan//
$sql = "INSERT INTO films (film, movieimage, genre, Filmomschrijving, Datumvanuitkomst, Datumuitbioscoop, Filmdraaidagen, Filmtijddragen, Zaal)
VALUES ('".$_POST["txtFilm"]."','$filmimagedoel','".$_POST["Genre"]."','".$_POST["txtFilmomschrijving"]."','".$_POST["uitkomstdate"]."','".$_POST["Biosdate"]."','$draaidag','$tijddag','".$_POST["zaal"]."')";
if ($dbh->query($sql)) {
?>
<br>
<?php
echo "Film toegevoegt!";
}
else{
echo "Er is iets misgegaan...";
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>
if(isset($_POST["submit"])){
$hostname='localhost';
$username='root';
$password='';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=fastmovierenessefrank",$username,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line
$filmimage =$_FILES["filmafbeelding"]["name"];
$filmimagemap = "images/";
$filmimagedoel = $filmimagemap.$filmimage;
$draaidagen = $_POST['draaidag'];
$draaidag="";
foreach($draaidagen as $draaidagcheck)
{
$draaidag.= $draaidagcheck.",";
}
$tijddagen = $_POST['tijddagen'];
$tijddag="";
foreach($tijddagen as $tijddagcheck)
{
$tijddag.= $tijddagcheck.",";
}
//film moet in de map /bioscoop/banner/ of /bioscoop/images/ staan//
$sql = "INSERT INTO films (film, movieimage, genre, Filmomschrijving, Datumvanuitkomst, Datumuitbioscoop, Filmdraaidagen, Filmtijddragen, Zaal)
VALUES ('".$_POST["txtFilm"]."','$filmimagedoel','".$_POST["Genre"]."','".$_POST["txtFilmomschrijving"]."','".$_POST["uitkomstdate"]."','".$_POST["Biosdate"]."','$draaidag','$tijddag','".$_POST["zaal"]."')";
if ($dbh->query($sql)) {
?>
<br>
<?php
echo "Film toegevoegt!";
}
else{
echo "Er is iets misgegaan...";
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 03/06/2018 20:26:25 door - Ariën -
Maar wat is nu je concrete vraag?
PS: We hebben code-tags.
Ik moet mijn php code in classes zetten en mijn vraag is hoe ik dit het beste kan doen.. (ben beginnende php codeerder dus verwacht niet teveel:P)
En schrijf dan een opzetje met classnamen, atributen en methods.
Een mooie tutorial die je op weg kan helpen:
https://www.phphulp.nl/php/tutorial/overig/oop-beginnershandleiding-php5/701/
Gewijzigd op 03/06/2018 20:29:46 door - Ariën -
Steve Bergosso op 03/06/2018 20:21:21:
Ik moet mijn php code in classes zetten en mijn vraag is hoe ik dit het beste kan doen.. (ben beginnende php codeerder dus verwacht niet teveel:P)
Van wie?
En waarom?
Wat is de toegevoegde waarde daarvan, of is dit enkel om de vorm?
Daarnaast, je maakt gebruik van PDO, gebruik dan ook prepared statements in plaats van het concateneren van $_POST-variabelen in een SQL-string.
Het voltooid deelwoord van "toevoegen" is overigens "toegevoegd".
De twee bovenstaande zaken lijken mij al belangrijker dan het dialect waarin je je code schrijft.
EDIT: daarbij, het lijkt mij verstandig om de draaidagen en -tijden onder te brengen in aparte tabellen. Op dit moment is het moeilijk om antwoord te geven op de vraag "welke films draaien er op vrijdagavond", en die vraag kan best interessant zijn voor potentiële bezoekers. Zorg dat de data in je database gestructureerd is. Op het moment dat je er kommagescheiden informatie ingooit is dit in een indicatie dat er iets nog niet helemaal genormaliseerd / uitgeschreven is.
Gewijzigd op 04/06/2018 10:07:44 door Thomas van den Heuvel