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
Zet dit eens bovenin je script

<?php
# error reporting
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
Verder raad ik bovendien aan om GEEN mysql-functies (ze zijn verouderd) meer te gebruiken, maar de MySQLi-functies of anders PDO.
met '# error reporting' er in krijg ik geen error's te zien.


dankje voor de MySQLi tip!
Ik had wel meldingen verwacht want ik zie variabelen in de insert staan die nergens worden aangemaakt.
oeps mijn fout,

ik krijg nu inderdaad een aantal error's


Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the 
future: use mysqli or PDO instead in /sites/martijndeblecourt.nl/www/login/beheer/db_const.php
 on line 8 Notice: Undefined index: username in 
/sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 12 Notice: Undefined index: 
oefening in /sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 13 Notice: 
Undefined index: frequentie in /sites/martijndeblecourt.nl/www/login/beheer/queries.php on 
line 14 Notice: Undefined index: oefenweek in 
/sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 15 Notice: Undefined index: 
therapeut in /sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 16

Dat lijkt er meer op.
Gebruik gewoon je GET vars en beveilig dit met mysql(i)_real_escape_string() functions.
if (!isset([color=#ff0000]$_POST[/color]['submit'])) {

<form action="..." method="[color=#ff0000]get[/color]">

Mja.
@Thomas: Aangepast.
ik heb alles weer terug gezet op POST en mysqli_real_escape_string gebruikt:


<?php
	require_once("db_const.php"); #database constructie file
	
	$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	= mysqli_real_escape_string($connectie, $_POST['username']);
	$oefening	= mysqli_real_escape_string($connectie, $_POST['oefening']);
	$frequentie	= mysqli_real_escape_string($connectie, $_POST['frequentie']);
	$oefenweek	= mysqli_real_escape_string($connectie, $_POST['oefenweek']);
	$therapeut	= mysqli_real_escape_string($connectie, $_POST['therapeut']);
	
	
?>


maar ik krijg nogsteeds de undefined index errors.


Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO 
instead in /sites/martijndeblecourt.nl/www/login/beheer/db_const.php on line 8 Notice: Undefined index: username in 
/sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 12 Warning: mysqli_real_escape_string() expects 
parameter 1 to be mysqli, boolean given in /sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 12 
Notice: Undefined index: oefening in /sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 13 Warning:
 mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in 
/sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 13 Notice: Undefined index: frequentie in 
/sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 14 Warning: mysqli_real_escape_string() expects 
parameter 1 to be mysqli, boolean given in /sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 14 
Notice: Undefined index: oefenweek in /sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 15 Warning: 
mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in 
/sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 15 Notice: Undefined index: therapeut in 
/sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 16 Warning: mysqli_real_escape_string() expects 
parameter 1 to be mysqli, boolean given in /sites/martijndeblecourt.nl/www/login/beheer/queries.php on line 16


Je gebruikt nu mysql_ en mysqli_ door elkaar.

Reageren