1 2 | $sql = "SELECT * FROM navigatie WHERE navigatie_ID=" . $_GET["navigatie_ID"]; $rs = $conn->query($sql); |
Maar waarom ga je eerst klooien op de meest foute manier om SQL queries te doen in PHP en het vervolgens weer 'ombouwen'? Je gaat toch ook niet eerst een huis van klein en stro bouwen om het vervolgens weer plat te gooien en op te bouwen met stenen en cement?quote:Op woensdag 2 september 2015 13:08 schreef jodelahity het volgende:
sql injecties en prepared statements weet ik juist al vanaf. Is ook gewoon goed opgezet. Maar ik bouw dit stukje gewoon om dit klaar te hebben en dan voeg ik dat daarna weer toe (zit gewoon op localhost via wamp dus dat van beveiliging maakt niet uit nu).
Vooral omdat ik het idee heb voor mezelf dat als ik die dingen eerst weglaat de code voor mij wat overzichtelijker is en ik me daar geen zorgen over hoef te maken sowieso.quote:Op woensdag 2 september 2015 13:14 schreef Monolith het volgende:
[..]
Maar waarom ga je eerst klooien op de meest foute manier om SQL queries te doen in PHP en het vervolgens weer 'ombouwen'? Je gaat toch ook niet eerst een huis van klein en stro bouwen om het vervolgens weer plat te gooien en op te bouwen met stenen en cement?
Dan ben je waarschijnlijk de eerste mens ter wereld die concatenaten overzichtelijker vindt dan parameteriseren...quote:Op woensdag 2 september 2015 13:18 schreef jodelahity het volgende:
[..]
Vooral omdat ik het idee heb voor mezelf dat als ik die dingen eerst weglaat de code voor mij wat overzichtelijker is en ik me daar geen zorgen over hoef te maken sowieso.
Ik geloof best wel dat ik dom bezig ben hoorquote:Op woensdag 2 september 2015 13:25 schreef KomtTijd... het volgende:
[..]
Dan ben je waarschijnlijk de eerste mens ter wereld die concatenaten overzichtelijker vindt dan parameteriseren...
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Zal nog doorzoeken maar als iemand een hint heeft is die welkom
Fylax is op televisie geweest
Denk het ook. Ga het maar zsm op deze manier doen, heb je in de toekomst veel profijt van:quote:Op woensdag 2 september 2015 13:29 schreef jodelahity het volgende:
[..]
Ik geloof best wel dat ik dom bezig ben hoorBen gewoon lerende en zal straks ook wel denken van 'ow jezus dat ik dat toen zo deed'
quote:[ afbeelding ]
Heb na de volgende code nog deze foutmelding
[spoiler]
[ code verwijderd ]
[/spoiler]
Zal nog doorzoeken maar als iemand een hint heeft is die welkom
quote:Op woensdag 2 september 2015 13:05 schreef KomtTijd... het volgende:
Nouja de foutmelding laat weinig te raden over toch? Je GET-variable bestaat niet.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php include '../webshop/DBconnectie.php'; ?> <?php // Get data from the database depending on the value of the id in the URL $id = $_GET[DIT IS EEN INDEX]; $sql = "SELECT * FROM navigatie WHERE navigatie_ID=' . $id . '"; $result = $conn->query($sql); while($row = $result->fetch_assoc()) { // Write the data of the person echo "<dt>ID en productnaam</dt><dd>" . $row["navigatie_ID"] . " " . $row["productnaam"] . "</dd>"; } |
1 | ?navigatie_ID = 2 |
Als je aan het hobbyen bent prima, maar 'een beetje aanklooien' is doorgaans een hele verkeerde manier om een taal te leren. Sowieso is het wel raadzaam om gelijk te beginnen met een goed framework in PHP. Die hebben doorgaans de standaard best-practices en architecturele patronen als MVC, dependency injection, enzovoort geïmplementeerd. De quick-and-dirty wijze van procedureel programmeren die vaak in PHP wordt gehanteerd levert op de iets langere termijn vaak een onbeheersbare teringbende op.quote:Op woensdag 2 september 2015 13:18 schreef jodelahity het volgende:
[..]
Vooral omdat ik het idee heb voor mezelf dat als ik die dingen eerst weglaat de code voor mij wat overzichtelijker is en ik me daar geen zorgen over hoef te maken sowieso.
Bedoel nu heb ik de 2 afbeeldingen van de schep uit de database gehaald en getoond, navigatie_ID zit er blijkbaar aan vast, en nu weet ik dat ik in de vervolgstap dus iets verkeerd doe. Terwijl als ik andere codes erbij zou doen (ook al werken ze) ik na uren eerder zou kunnen twijfelen of er toch niet ook iets mis is met die codes.. vandaar (althans dat is wat ik zo doe omdat het me wel oke leek).
Ben trouwens een totale leek wat betreft php, dus ik begrijp dat de codering die ik toonde nogal belabberd kan zijn. Maar ik heb gewoon zoveel verschillende dingen geprobeerd die ik op internet las en die me niet gelukt zijn dat dit de code was waarmee ik achterbleef toen ik besloot om het hier maar te vragen.
1 van die foutmeldingen (conn) is weg, was gewoon vergeten om de databaseconnectie er te includen. Hoe ik die navigatie_ID eruit moet halen en op kan zoeken in de database (naar de bijbehorende informatie) probeer ik nu uit te zoeken
In principe ben ik dat wel met je eens, maar in de afweging tussen dat principe of een melding die me debug tijd bespaard ga ik toch liever voor het tweede. Zeker als ik toch de enige ben die het merkt.quote:Op donderdag 8 oktober 2015 13:35 schreef KomtTijd... het volgende:
Lijkt me een beetje raar als je IDE waarschuwingen gaat geven voor dingen die syntactisch gewoon in orde zijn, toch?
Zoveel gevallen van code die zowel in JS als PHP syntactisch overeen komen maar in hun werking verschillen kan ik me anders niet bedenken. Ik kom ze in ieder geval nauwelijks tegen.quote:Op donderdag 8 oktober 2015 14:12 schreef KomtTijd... het volgende:
Ik ken Sublime Text niet, dus kan je helaas niet verder helpen. Maar ik ben bang dat je binnen de kortste keren zou verzuipen in de waarschuwingen als je hieraan begint.
PhpStorm kan ook een waarschuwing geven als je iets alsquote:Op donderdag 8 oktober 2015 13:35 schreef KomtTijd... het volgende:
Lijkt me een beetje raar als je IDE waarschuwingen gaat geven voor dingen die syntactisch gewoon in orde zijn, toch?
1 2 3 | <?php $b += $a; ?> |
Valt wel mee. Ellende met addition vs concatenation hou je altijd in dit soort weakly typed languages. Vaak is er in IDEs een vorm van type inference aanwezig, die probeert te bepalen wat het type van je variabelen is.quote:Op donderdag 8 oktober 2015 13:35 schreef KomtTijd... het volgende:
Lijkt me een beetje raar als je IDE waarschuwingen gaat geven voor dingen die syntactisch gewoon in orde zijn, toch?
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 | <?php session_start(); require "Classes/Test.class.php" ; require "Classes/Item.class.php" ; require "Classes/Result.class.php" ; require "Classes/DB.class.php" ; ?> <html> <head> <?php include "Includes/header.php" ; ?> </head> <body onload="$('#submitdone').attr('disabled', 'disabled');"> <div class='takethetest'> <center> <div id="result"> <?php $test = unserialize($_SESSION['test']) ; echo "Score " . $test->extractResults() . " %" ; $_SESSION['score'] = $test->extractResults() ; ?> </div> </center> <p>We will send the results <?php echo (($_SESSION['sname']!='') ? ' of participant ' . $_SESSION['sname'] . ' ' : '') ; ?> to these addresses. Add more addresses if you please, and press the 'Send' button. 'Save and send' will also save the results to our database.</p> <form id="emailform" action="index.php" method="post"> <p><input type="text" value="<?php if($_SESSION['email0']!=""){echo $_SESSION['email0'] ;}?>"id="email1" name="email1"><br /> <input type="text" value="<?php if($_SESSION['email1']!=""){echo $_SESSION['email1'] ;}?>"id="email2" name="email2"><br /> <input type="text" value="<?php if($_SESSION['email2']!=""){echo $_SESSION['email2'] ;}?>"id="email3" name="email3"><br /> <input type="text" value="<?php if($_SESSION['email3']!=""){echo $_SESSION['email3'] ;}?>"id="email0" name="email0"><br /> <input type="text" value="" id="email4" name="email4"></p> <center><div id="radio"> <input type="submit" value="Save and send" id="submitb" name="submitb" /> <input type="submit" value="Send" id="submitb" name="submitb" /> </div> </center> </form> </div> </body> </html> |
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 | <?php session_start() ; require "Classes/Test.class.php" ; require "Classes/Item.class.php" ; require "Classes/Result.class.php" ; require "Classes/DB.class.php" ?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <?php include 'Includes/header.php'; if($_POST['submitb'] != "Send") { $test = unserialize($_SESSION['test']) ; $name = $_SESSION['sname'] ; $db = new DB() ; $db->connect() ; $db->selectDb() ; $db->insert($test, $name) ; } if(isset($_POST['submitb']) && ($_POST['email0']!="" || $_POST['email1']!='' || $_POST['email2']!='' || $_POST['email3']!='' || $_POST['email4']!='')) { $_SESSION['email0'] = $_POST['email0'] ; $_SESSION['email1'] = $_POST['email1'] ; $_SESSION['email2'] = $_POST['email2'] ; $_SESSION['email3'] = $_POST['email3'] ; $_SESSION['email4'] = $_POST['email4'] ; } require_once 'PHPMailer/PHPMailerAutoload.php'; $mail = new PHPMailer(true); $mail->CharSet = 'utf-8'; ini_set('default_charset', 'UTF-8'); class phpmailerAppException extends phpmailerException {} $mail->isSMTP(); $mail->SMTPDebug = 2; $mail->Host = "mail.server.com"; $mail->Port = "587"; $mail->SMTPSecure = "none"; $mail->SMTPAuth = true; $mail->Username = “mail@server.com"; $mail->Password = “kloppend wachtwoord”; $mail->addReplyTo("mail@server.com", “Afzender”); $mail->setFrom(“mail@server.com”, “Afzender”); $mail->addAddress(“mail@server.com”, “Ontvanger”); if($_SESSION['email0']!="") $mail->AddAddress($_SESSION['email0']); if($_SESSION['email1']!="") $mail->AddAddress($_SESSION['email1']); if($_SESSION['email2']!="") $mail->AddAddress($_SESSION['email2']); if($_SESSION['email3']!="") $mail->AddAddress($_SESSION['email3']); if($_SESSION['email4']!="") $mail->AddAddress($_SESSION['email4']); $mail->Subject = “Results"; $message = 'Dear participant,’ . "\n\n" . 'On ' . date("F j, Y, g:i a") . ',' . (isset($_SESSION['sname']) ? ' ' . $_SESSION['sname'] : ' [anonymous]') . ' participated in the ' . ucfirst($_SESSION['language']) . ' version of our test. The score was ' . $_SESSION['score'] . ' %.'; $message .= "\n\n" . 'Thank you for participating!' ; $body = $message; $mail->WordWrap = 78; $mail->msgHTML($body, dirname(__FILE__), true); session_destroy() ; ?> </head> <body> <div class='takethetest'> <h1>Thank you</h1> <p>Thank you very much for taking the test.</p> <p><a href="#" class="button1" id="close" onclick="$('.popupBG',parent.document).trigger('click');"> Close window</a></p> <p><a href="../index.html" class="button1" id="home"> Back to the homepage</a></p> </div> </body> </html> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |