Zou eventueel aan je php-versie kunnen liggen of wellicht heb je toch nog iets anders als hoe ik het heb. Voeg anders gewoon de code van toevoegen.php toe aan die van input.php.quote:Op zaterdag 1 augustus 2015 22:03 schreef jodelahity het volgende:
Ja alles wordt gewoon toegevoegd. Alleen het wordt toegevoegd aan de database voordat het gevalideerd wordt. Dus ook 'test' komt als e-mail erin terwijl dat eigenlijk alleen 'test@hotmail.com' zou moeten zijn bijvoorbeeld.
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 | <?php $servername = "localhost"; $username = "root"; $password = "***"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } if(isset($_POST["submit"])) { $naam=$_POST['naam']; $email=$_POST['email']; $website=$_POST['website']; $comment=$_POST['comment']; if (empty($_POST["naam"])) { $naamErr = "Het invullen van een naam is noodzakelijk"; } else { $naam = test_input($_POST["naam"]); // check if naam only contains letters and whitespace if (!preg_match("/^[a-zA-Z ]*$/",$naam)) { $naamErr = "Alleen letters en spaties zijn toegestaan"; } } if (empty($_POST["email"])) { $emailErr = "Een e-mail adres is noodzakelijk"; } else { $email = test_input($_POST["email"]); // check if email address is well-formed if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Geen kloppend e-mail formaat"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // check if URL address syntax is valid (this regular expression also allows dashes in the URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "Ongeldig websiteformaat"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if ($naamErr=='' and $emailErr=='' and $websiteErr=='') { $sql = $conn->prepare("INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES (?, ?, ?, ?)"); $sql->bind_param('ssss', $naam, $email, $website, $comment); if (!$sql->execute()) { echo "Error: " . $sql->error; } else { echo "Succesvol toegevoegd"; } } } $conn->close(); ?> |
Mijn php versie is 5.5.12quote:Op zaterdag 1 augustus 2015 22:06 schreef Arcee het volgende:
[..]
Zou eventueel aan je php-versie kunnen liggen of wellicht heb je toch nog iets anders als hoe ik het heb. Voeg anders gewoon de code van toevoegen.php toe aan die van input.php.
Dus input.php wordt dan:
[ code verwijderd ]
En dan <?php include 'toevoegen.php';?> uit het formulier halen.
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 | <?php // define variables and set to empty values $naamErr = $emailErr = $websiteErr = ""; $naam = $email = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["naam"])) { $naamErr = "Het invullen van een naam is noodzakelijk"; } else { $naam = test_input($_POST["naam"]); // check if naam only contains letters and whitespace if (!preg_match("/^[a-zA-Z ]*$/",$naam)) { $naamErr = "Alleen letters en spaties zijn toegestaan"; } } if (empty($_POST["email"])) { $emailErr = "Een e-mail adres is noodzakelijk"; } else { $email = test_input($_POST["email"]); // check if email adadress is well-formed if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Geen kloppend e-mail formaat"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // check if URL address syntax is valid (this regular expression also allows dashes in the URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = "Ongeldig websiteformaat"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } } function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> |
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 | <?php $servername = "localhost"; $username = "root"; $password = "noeska"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Onderstaande stukje heb ik toegevoegd if(isset($_POST["submit"]) and $naamErr=='' and $emailErr=='' and $websiteErr=='') { $naam=$_POST['naam']; $email=$_POST['email']; $website=$_POST['website']; $comment=$_POST['comment']; $sql = $conn->prepare("INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES (?, ?, ?, ?)"); $sql->bind_param('ssss', $naam, $email, $website, $comment); if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); ?> |
1 2 3 4 | if ($conn->query($sql) === TRUE) { // lijn 31 echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; // lijn 34 |
Zal hier goed naar kijkenquote:You are mixing mysqli and mysql extensions, which will not work.
1 | $stmt->execute(); |
1 2 3 4 5 | if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } |
Ik zoek o.a. bij stackoverflow hierop maar is nog niet gelukt (ook al zijn er wel veel zoekresultaten voor deze foutmeldingen)quote:Warning: mysqli::query() expects parameter 1 to be string, object given in
Catchable fatal error: Object of class mysqli_stmt could not be converted to string in
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 | <?php $servername = "localhost"; $username = "root"; $password = "***"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Onderstaande stukje heb ik toegevoegd if(isset($_POST["submit"]) and $naamErr=='' and $emailErr=='' and $websiteErr=='') { $naam=$_POST['naam']; $email=$_POST['email']; $website=$_POST['website']; $comment=$_POST['comment']; $sql = $conn->prepare("INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES (?, ?, ?, ?)"); $sql->bind_param('ssss', $naam, $email, $website, $comment); if ($conn->query($sql) === TRUE) { // [b]dit is de eerste lijn waar het over gaat[/b] echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; // [b]dit is de tweede lijn waar het over gaat[/b] } } $conn->close(); ?> |
1 2 3 4 5 | if ($conn->query($sql) === TRUE) { echo "Succesvol toegevoegd"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } |
quote:Op zondag 2 augustus 2015 09:34 schreef jodelahity het volgende:
Validatie werkt dus, alleen het versturen na de validatie (als de gegevens goed zijn ingevuld) lukt nog niet.
Het gaat daarbij dus om dit stukje code
[ code verwijderd ]
Vervang dat eens weer door:quote:Op zondag 2 augustus 2015 09:34 schreef jodelahity het volgende:
Validatie werkt dus, alleen het versturen na de validatie (als de gegevens goed zijn ingevuld) lukt nog niet.
Het gaat daarbij dus om dit stukje code
[ code verwijderd ]
1 2 3 4 | if (!$sql->execute()) { echo "Error: " . $sql->error; } else { echo "Succesvol toegevoegd"; |
1 2 3 | $sql = $conn->prepare("INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES (?, ?, ?, ?)"); $sql->bind_param('ssss', $naam, $email, $website, $comment); |
1 2 | $sql = "INSERT INTO gebruikerscompleet (naam, email, website, comment) VALUES ('$naam', '$email', '$website', '$comment')"; |
Zo ontzettend bedanktquote:Op zondag 2 augustus 2015 09:37 schreef Arcee het volgende:
if (!$sql->execute()) {
echo "Error: " . $sql->error;
} else {
echo "Succesvol toegevoegd";
Jawel hoor. Probleem was dat je 2 verschillende methodes door elkaar gebruikte. Je had de prepare wel overgenomen, maar de bijbehorende execute niet. Prepare hoort dus bij execute en $sql = "... hoort bij jouw stukje ($conn->query($sql)).quote:Op zondag 2 augustus 2015 09:54 schreef jodelahity het volgende:
Zo ontzettend bedankt
Bedoel ik zoek echt zoveel en probeer zoveel uit van wat ik lees maar dit was ik niet zo tegengekomen
Die ! is gewoon een 'not', dus die test of de execute() correct is uitgevoerd of niet. execute() geeft dus een true of false terug.quote:Op zondag 2 augustus 2015 09:54 schreef jodelahity het volgende:
Ik leer de basis die ik nog niet ken nog wel bij trouwens zoals 'waarom !$sql daar' bijvoorbeeld. Maar dit was even heel belangrijk omdat ik nu goed de sql codes kan uitproberen.
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 | <?php $servername = "localhost"; $username = "root"; $password = "***"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // sql to create table $sql = "CREATE TABLE userinfo ( naam VARCHAR(40), email VARCHAR(50), website VARCHAR(40), comment VARCHAR(400), )"; if ($conn->query($sql) === TRUE) { echo "Table userinfo created successfully"; } else { echo "Error creating table: " . $conn->error; } $conn->close(); ?> |
1 | Error creating table: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 6 |
Door de komma op regel 20 verwacht MySQL nog een waarde.quote:Op zondag 2 augustus 2015 10:17 schreef jodelahity het volgende:
[ code verwijderd ]
Ik had verwacht dat ik nu ook gewoon op deze manier een table kon aanmaken Werkte eerst wel, maar nu na prepare and bind niet meer lijkt me?
[ code verwijderd ]
Eerst lukte het me wel om op die manier het aan te maken namelijk voor zover ik weet.
En dank je, ook voor de uitleg weer ik doe mijn best maar het is niet zo simpel
Die laatste komma weghalen.quote:Op zondag 2 augustus 2015 10:17 schreef jodelahity het volgende:
Ik had verwacht dat ik nu ook gewoon op deze manier een table kon aanmaken Werkte eerst wel, maar nu na prepare and bind niet meer lijkt me?
$sql = "CREATE TABLE userinfo (
naam VARCHAR(40),
email VARCHAR(50),
website VARCHAR(40),
comment VARCHAR(400),
)";
1 | #1062 - Duplicate entry 'b' for key 'a' |
Ik heb niet echt een idee, maar helpt het als je een purge probeert? En heb je je index wel juist toegevoegd?quote:Op dinsdag 4 augustus 2015 22:28 schreef mstx het volgende:
Ik heb een raar probleempje bij een MySQL tabel. Ik wil een kolom een unique index geven, maar op het moment dat ik dat doe geeft hij een duplicate key error.
[ code verwijderd ]
Waarbij waarde "b" altijd de waarde in de laatste rij is, en die komt niet vaker voor in de tabel. Als ik die rij verwijder geeft hij daarna weer dezelfde fout maar dan met de waarde die op dat moment in de "nieuwe" laatste rij staat.
Iemand een idee?
Een framework is er om werk uit handen te nemen, dus als het formbuilder gedeelte van symfony2 je niet bevalt, lekker weg laten of wat anders gebruiken .quote:Op woensdag 5 augustus 2015 18:53 schreef robin007bond het volgende:
Fuck it, net forms gemaakt zonder de ingebouwde form handling van Symfony, maar wel met de routing-mogelijkheden en dergelijke. Dat gaat prima.
Serieus, fuck die frameworks soms. Soms ben je zo lang bezig met vinden hoe je iets op de beste manier in zo'n framework kunt doen dat ik mezelf af begin te vragen of dit niet gewoon werkverschaffing is.
Soms ben je anders wel het wiel opnieuw aan het uitvinden als je geen frameworks gebruikt, dat is dan weer de andere kant. Plus je wordt niet echt door enige structuur gestuurd.
Daar heb je een goed punt.quote:Op zaterdag 8 augustus 2015 13:43 schreef TwenteFC het volgende:
[..]
Een framework is er om werk uit handen te nemen, dus als het formbuilder gedeelte van symfony2 je niet bevalt, lekker weg laten of wat anders gebruiken .
Wat wil je hiermee precies bereiken?quote:Op maandag 17 augustus 2015 17:28 schreef wipes66 het volgende:
weet iemand trouwens of het mogelijk is om in de query cache van mysql te kijken, om te zien welke queries in de cache zitten?
gewoon nieuwsgierig of het uberhaupt kanquote:Op maandag 17 augustus 2015 19:16 schreef TwenteFC het volgende:
[..]
Wat wil je hiermee precies bereiken?
Volgens mij worden enkel hashes voor betreffende queries opgeslagen, niet de queries zelf.quote:Op maandag 17 augustus 2015 19:35 schreef wipes66 het volgende:
[..]
gewoon nieuwsgierig of het uberhaupt kan
Mee eens dat een beetje complex formulier al snel niet meer binnen het standaard raamwerk van formulierbuilders valt. Dan moet je je vaak in allerlei bochten wringen om het werkend of performant te krijgen. Op een gegeven moment wordt het een spaghetti van hacks of wordt het geheel zo log dat het niet fatsoenlijk onderhoudbaar en leesbaar meer is. Dus in zulke gevallen maak ik zelf liever een opzet.quote:Op zaterdag 8 augustus 2015 14:12 schreef robin007bond het volgende:
[..]
Daar heb je een goed punt.
Het form-gedeelte is oké voor simpele forms, maar als het complexer wordt dan is het niet echt de meest handige oplossing.
Ik heb het gevoel alsof de meeste frameworks het meest zijn gericht op simpele CRUD-operaties en dat complexere problemen vaak worden bemoeilijkt.
Precies. Dat heb ik nu wel in een harde les geleerd.quote:Op maandag 17 augustus 2015 20:00 schreef zoem het volgende:
[..]
Mee eens dat een beetje complex formulier al snel niet meer binnen het standaard raamwerk van formulierbuilders valt. Dan moet je je vaak in allerlei bochten wringen om het werkend of performant te krijgen. Op een gegeven moment wordt het een spaghetti van hacks of wordt het geheel zo log dat het niet fatsoenlijk onderhoudbaar en leesbaar meer is. Dus in zulke gevallen maak ik zelf liever een opzet.
1 2 3 4 5 | <div id=\"webshopmaindiv\"> <a href=\"javascript:ajaxpage('webshop/navigatiewebshop2.php?navigatie_ID = " . $row['navigatie_ID'] ."', 'webshopmaindiv2');\"><img alt=".$row['productnaam']." height=\"100px\" width=\"100px\" src=".$row['afbeelding']." /></a> " ?>; </div> |
1 2 3 4 5 6 7 8 9 10 | <?php // Get data from the database depending on the value of the id in the URL $sql = "SELECT * FROM navigatie WHERE navigatie_ID=" . $_GET["navigatie_ID"]; $rs = $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 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 hoor Ben gewoon lerende en zal straks ook wel denken van 'ow jezus dat ik dat toen zo deed'quote: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 welkomFylax 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 hoor Ben 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: |