goedemiddag. ik ben met een oude school opdracht bezig mezelf meer te leren over php.

nu loop ik tegen het volgende probleem aan;

ik ben bezig met een website voor een denkbeeldige fysio praktijk waar fysiotherapeuten de klanten online oefeningen moeten kunnen geven.

ik heb de toewijs pagina gemaakt, (grotendeels gekopieerd van mijn registratie pagina, die tevens wel werkt(alleen geen drop-down menu's bevat)

de pagina ziet er zo uit:



en de code is alsvolgt:


<html>
<head> <title>Toewijs formulier</title> </head>
<body> <center> <h1>formulier voor het toewijzen van oefeningen</h1>

<?php
require_once("db_const.php"); #database constructie file
require_once("queries.php"); #variablen met queries 

if (!isset($_POST['submit'])) {
?>	<!-- TOEWIJS formulier in html -->
	<form action="<?=$_SERVER['PHP_SELF']?>" method="get">
		
		<pre>Klant:</pre>
		<select name='username'> <?php 
				while($row = mysql_fetch_array($sql4)){
				echo "<option value='".$row["username"]."'>".$row["username"]."</option>";
				} mysql_free_result($sql4); ?>
		</select> <br />
		
		<pre>Oefening:</pre> 
		<select name='oefening' > <?php
				while($row = mysql_fetch_array($sql5)){
				echo "<option value='".$row["speci"]."'>".$row["speci"]."</option>";
				} mysql_free_result($sql5); ?>
		</select> <br />
		
		<pre>Frequentie:</pre> 
		<input type="text" name="frequentie" size="5" maxlength="6" required />
		<br />
		
		<pre>Oefenweek:</pre> 
		<input type="text" name="oefenweek" size="5" maxlength="2" required />
		<br />
		
		<pre>therapeut:</pre> 
		<select name='therapeut' > <?php
				while($row = mysql_fetch_array($sql6)){
				echo "<option value='".$row["username"]."'>".$row["username"]."</option>";
				} mysql_free_result($sql6); ?>
		</select> <br /> <br />
		
			<input type="submit" name="submit" value="toewijzen" />
	</form> <!-- einde TOEWIJS formulier -->
<?php
} else {
	
		$kwerie = "INSERT  INTO `toewijzen` (`toewijzing`, `klant`, `oefening`, `frequentie`, `oefenweek`, `therapeut`) 
				VALUES (NULL, '{$username}', '{$oefening}', '{$frequentie}', '{$oefenweek}', '{$therapeut}')";

		if ($connectie->query($kwerie)) {
			echo "<center>Toewijzen gelukt</center> <br />";
			echo "<center> <a href='register-kopie.php'> <button>terug naar toewijzen</button> </a> </center> <br />";
			echo "<center> <a href='tp.html'> <button>terug naar Home</button> </a> </center>";
		} else {
			echo "<p>MySQL error no {$connectie->errno} : {$connectie->error}</p>";
			exit();
		}
	}
?>		
</center>
</body>
</html>


en de pagina's waar ik naar verwijs voor variabelen en queries zien er zo uit:

<?php
	#mysqli database connectie
	const DB_HOST = 'localhost';
	const DB_USER = 'marti_nl_wordpr3';
	const DB_PASS = '********';
	const DB_NAME = 'martijndeblecourt_nl_wordpre';

	$dbhandle = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Unable to connect to MySQL");
	$connectie = mysql_select_db(DB_NAME,$dbhandle) or die("Could not select table");## mysql connectie in database constructie file
?>


<?php

	$sql1 = "SELECT username FROM users"; #query voor klant naam
	$sql2 = "SELECT speci FROM oefeningen"; #query voor oefeningen id
	$sql3 = "SELECT username FROM users_b"; #query voor therapeut naam
	
	$sql4 = mysql_query($sql1) or die(mysql_error()); #uitvoer voor klant naam
	$sql5 = mysql_query($sql2) or die(mysql_error()); #uitvoer voor oefening id
	$sql6 = mysql_query($sql3) or die(mysql_error()); #uitvoer voor therapeut naam

	
	$username	= $_GET['username'];
	$oefening	= $_GET['oefening'];
	$frequentie	= $_GET['frequentie'];
	$oefenweek	= $_GET['oefenweek'];
	$therapeut	= $_GET['therapeut'];
	
	
?>



het probleem is dat wanneer ik op de 'toewijs' knop druk, dat er niks naar de database word geschreven.

-ik gebruik 'GET' zodat ik alle informatie terug kan zien in de URL (hier schrijft die alle informatie wel heen)
-ik heb 600x gecheckt en laten checken op spelfouten, hier zit het probleem niet.

ik hoor het graag als iemand een tip of oplossing heeft voor mijn probleem!

Met vriendelijke groet,
Martijn de Blécourt
Stap geheel over naar MySQLi.
heb ik nu gedaan.

zit hier nog een fout in?

 Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in 
/sites/martijndeblecourt.nl/www/login/beheer/db_const.php on line 9 Could not select table


is deze code;


	$dbhandle = mysqli_connect(DB_HOST, DB_USER, DB_PASS) or die("Unable to connect to MySQL");
	$connectie = mysqli_select_db(DB_NAME,$dbhandle) or die("Could not select table");## mysql connectie in database constructie file
De connectie is in MySQLi aangepast: [php]mysqli_connect[/php]. Je kan hierin meteen direct je database selecteren.

<?php
$link = mysqli_connect("localhost", "user", "password", "databasenaam");
?>
... expects parameter 1 to be mysqli

Omdraaien.
Niet:
$connectie = mysqli_select_db(DB_NAME,$dbhandle)
Wel:
$connectie = mysqli_select_db($dbhandle,DB_NAME)
Ik zou gebruik maken van de object-georiënteerde variant van MySQLi.

Met MySQLi kun je het maken van een connectie + het selecteren van een database ook combineren in één statement:
<?php
$db = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
?>
mysqli_select_db heb je niet nodig als je de database al in mysqli_connect() gebruikt.
wow, waar ik al 3 week mee aan het stoeien ben geweest hebben jullie voor me in een uurtje opgelost!

ik heb gekozen om alles in een statement te zetten zoals:
 $db = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE); 


ik krijg nog een paar undefined indexes, maar volgensmij snap ik dankzij jullie nu wel waar ik dit probleem moet zoeken en tackelen.

mijn dank is groot.

Alvast een fijn weekend!
Graag gedaan, onthoud wel dat deze code object-georienteerd is.
<?php
$db = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
?>

Meer informatie over MySQLi, en de procedurele en object-georienteerde variant kan je in dit artikel lezen:
http://phptuts.nl/view/26/

Reageren