Vraag & Antwoord

Programmeren

PHP-vraag

4 antwoorden
  • Beste iedereen, ik ben net nieuw in PHP, dus weet er nog niet zo veel vanaf. Ik weet ook dat mijn vraag over een schoolopdracht gaat, maar ik kom er echt niet uit. Ik zou aan jullie willen vragen of jullie misschien kunnen helpen. Voor school (mijn profielwerkstuk) wil ik een enquête opstellen met daarin enkele vragen, omdat mijn profielwerkstuk over informatica gaat leek het me wel zo netjes deze digitaal beschikbaar te stellen. Echter, er gaat blijkbaar iets mis met het schrijven in de database, ik heb een SQL-query opgesteld die vanuit PHPMyAdmin prima werkt. Als ik deze vervolgens via mijn eigen php-script uit wil voeren, gaat het blijkbaar fout. Het script dat ik gebruik: De HTML-pagina (beetje onoverzichtelijk): [code:1:3aabbf2beb]<html> <head> <title> Survey PWS RFID </title> </head> <body> <form name="vraag1" action="Gegevensbedrijf.php" method="GET"> Wat is de naam van uw bedrijf (anoniem invullen is mogelijk, laat het onderstaande veld in dat geval leeg)? <br> <input type="text" name="naambedrijf"><br> Wat is uw naam? (anoniem invullen is mogelijk, laat het onderstaande veld in dat geval leeg)<br> <input type="text" name="naamcontactpersoon"> <input type="submit" value="Verzenden"> </form> </body> </html>[/code:1:3aabbf2beb] Gegevensbedrijf.php: [code:1:3aabbf2beb]<?php $naambedrijf = $_GET['naambedrijf']; $naamcontactpersoon = $_GET['naamcontactpersoon']; $sql = "INSERT into Vragen.vragen (Bedrijfsnaam,Contactpersoon) Values ('$naambedrijf','$naamcontactpersoon')"; require_once 'db_config.php'; if(!$res = mysql_query($sql)) { trigger_error(mysql_error().'<br />In query: '.$sql); } header('Location: vraag1.html'); ?>[/code:1:3aabbf2beb] En tot slot, db_config.php: [code:1:3aabbf2beb]<?php $db = array ( 'host' => 'localhost', 'user' => 'root', 'pass' => 'usbw', 'dbname' => 'Vragen' ); if(!mysql_connect($db['host'], $db['user'], $db['pass'])) { trigger_error('Fout bij verbinden: '.mysql_error()); } elseif(!mysql_select_db($db['dbname'])) { trigger_error('Fout bij selecteren database: '.mysql_error()); } else { $sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'"; if(!mysql_query($sql)) { trigger_error('MySQL in ANSI niet mogelijk'); } } ?>[/code:1:3aabbf2beb] Ik hoop dat jullie me kunnen helpen! Alvast bedankt! Edit: Sorry, ik zie nu dat dit in Webprogrammeren & Scripting thuishoort. Edit2: Ik zag dat mijn $_GET niet klopte, maar nu ik dit heb rechtgezet worden de gegevens nog altijd niet weggeschreven.
  • [quote:34b8e194c1="waterfly"]Beste iedereen, ik ben net nieuw in PHP, dus weet er nog niet zo veel vanaf. Ik weet ook dat mijn vraag over een schoolopdracht gaat, maar ik kom er echt niet uit. Ik zou aan jullie willen vragen of jullie misschien kunnen helpen. Voor school (mijn profielwerkstuk) wil ik een enquête opstellen met daarin enkele vragen, omdat mijn profielwerkstuk over informatica gaat leek het me wel zo netjes deze digitaal beschikbaar te stellen. Echter, er gaat blijkbaar iets mis met het schrijven in de database, ik heb een SQL-query opgesteld die vanuit PHPMyAdmin prima werkt. Als ik deze vervolgens via mijn eigen php-script uit wil voeren, gaat het blijkbaar fout. Het script dat ik gebruik: De HTML-pagina (beetje onoverzichtelijk): [code:1:34b8e194c1]<html> <head> <title> Survey PWS RFID </title> </head> <body> <form name="vraag1" action="Gegevensbedrijf.php" method="GET"> Wat is de naam van uw bedrijf (anoniem invullen is mogelijk, laat het onderstaande veld in dat geval leeg)? <br> <input type="text" name="naambedrijf"><br> Wat is uw naam? (anoniem invullen is mogelijk, laat het onderstaande veld in dat geval leeg)<br> <input type="text" name="naamcontactpersoon"> <input type="submit" value="Verzenden"> </form> </body> </html>[/code:1:34b8e194c1] Gegevensbedrijf.php: [code:1:34b8e194c1]<?php $naambedrijf = $GET_['naambedrijf']; $naamcontactpersoon = $GET_['naamcontactpersoon']; $sql = "INSERT into Vragen.vragen (Bedrijfsnaam,Contactpersoon) Values ('$naambedrijf','$naamcontactpersoon')"; require_once 'db_config.php'; if(!$res = mysql_query($sql)) { trigger_error(mysql_error().'<br />In query: '.$sql); } header('Location: vraag1.html'); ?>[/code:1:34b8e194c1] En tot slot, db_config.php: [code:1:34b8e194c1]<?php $db = array ( 'host' => 'localhost', 'user' => 'root', 'pass' => 'usbw', 'dbname' => 'Vragen' ); if(!mysql_connect($db['host'], $db['user'], $db['pass'])) { trigger_error('Fout bij verbinden: '.mysql_error()); } elseif(!mysql_select_db($db['dbname'])) { trigger_error('Fout bij selecteren database: '.mysql_error()); } else { $sql = "SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'"; if(!mysql_query($sql)) { trigger_error('MySQL in ANSI niet mogelijk'); } } ?>[/code:1:34b8e194c1] Ik hoop dat jullie me kunnen helpen! Alvast bedankt! Edit: Sorry, ik zie nu dat dit in Webprogrammeren & Scripting thuishoort. Edit2: Ik zie dat mijn $_GET verkeerd was, maar ook nu ik dit heb rechtgezet worden de gegevens nog altijd niet weggeschreven.[/quote:34b8e194c1] Gequote ipv ge-edit. Gaat lekker...
  • Ten eerste is het gebruikelijk om mysql-commando's in hoofdletters te doen: INSERT INTO .,.. VALUES, maar ik weet niet of dat wat uitmaakt. Wat is de foutmelding die gegeven wordt?
  • Waarom gelijk zo moeilijk ? Begin eerst met je code zo te schrijven dat je makkelijk kunt controleren of het allemaal wel werkt: [quote:9f2dfc3dc5] include("config.php"); $db = mysql_connect($server,$user, $w8woord); $result = mysql_select_db($database,$db); $result = mysql_query( "INSERT into telling (ipadres,datum,tijd, pagina) values ('$ip','$datumvandaag','$tijdvandaag', '$pagina')", $db); [/quote:9f2dfc3dc5] config.php [quote:9f2dfc3dc5] <? $database="mijndatabase"; $server="localhost"; $user="rumaro"; $w8woord="nietthuis"; ?> [/quote:9f2dfc3dc5] En nog een goede tip: probeer zoiets uit op een server, evt van een gratis hoster. Ik ben echt heel lang bezig geweest voordat ik er achter kwam dat het extern perfect draaide, maar op m'n eigen pc niet.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.