Ik ben een beginneling wat php betreft maar ik ben wel leergierig.
Ik wil via een database (die alle wedstrijden van onze sportclub bevat) de wedstrijden tonen wanneer iemand een radiobutton geselecteerd heeft. Die pagina werkt wel, maar toch krijg ik geen resultaat in mijn tabel.
Iemand een idee?
Thx

<?php
	include("misc.inc");
	$connection = mysql_connect($host,$user,$password) or die ("Kon geen verbinding maken met de server");
	$db = mysql_select_db($database,$connection) or die ("Kon de database niet selecteren");
	
	//Selecteerd de wedstrijden van de gekozen ploeg
	$query = "SELECT * FROM Events WHERE ploegID='".$_POST['interest']."'";
	$result = mysql_query($query) or die ("Kon de query niet uitvoeren");
	
	//Resultaten in een tabel weergeven
	echo "<table cellspacing='10' border='0' cellpadding='0' width='100%'>";
	while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
	{
	
	//Elke wedstrijd in een rij weergeven
	echo "<tr>\n";
	echo "<td>{$row['ploegID']}</td>\n";
	echo "<td><font size='+1'><b>{$row['wedstrijd']}</b></font></td>\n";
	echo "<td>{$row['datum']}</td>\n";
	echo "<td>{$row['tijd']}</td>\n";
	echo "<td>{$row['plaats']}</td>\n";
	echo "<td>{$row['info']}</td>\n";
}
echo "</table>\n";
echo "<div align='center'>
<a href='teamReview.php'><b>Keer terug naar het overzicht van de ploegen</b></a></div>";
?>
Wat krijg je als je dit doet op regel 9:

<?php
    echo mysql_num_rows ($result);
?>
include("misc.inc");
Ik weet niet wat hier allemaal in staat, ik hoop niets belangrijks want dit bestand is gewoon door iedereen te lezen.

Een $_POST-var (en alle andere input van een user) moet je nooit zonder te beveiligen in een query zetten. Lees eens over sql-injection.
Hey jan,

ik heb die regel toegevoegd, nu krijg ik enkel een 0 (null) te zien wanneer ik de pagina probeer op te roepen.


SanThe,

deze pagina bevat de gegevens om toegang te krijgen tot de database (usernaam, password, ...)
Er was mij verteld dat deze manier best wel veilig was. Heb je een idee hoe ik deze best beveilig?
Ik heb ze nu om veiligheidsredenen onmiddelijk van de server verwijderd.
Die 0 betekent dat je query nul resultaten oplevert.
Probeer eens zo:
<?php
include 'misc.php'; // beter de php extensie - zie de tip van SanThe
$connection = mysql_connect ($host,$user,$password) or die ('Kon geen verbinding maken met de server');
$db = mysql_select_db ($database,$connection) or die ('Kon de database niet selecteren');

//Selecteert de wedstrijden van de gekozen ploeg
$query = "
SELECT *
FROM Events
WHERE ploegID = '" . mysql_real_escape_string ($_POST['interest']) . "'";

if (!$result = mysql_query($query)) {
trigger_error (mysql_error ());
echo htmlentities ($query);
}
else {
//Resultaten in een tabel weergeven
echo '<table cellspacing="10" border="0" cellpadding="0" width="100">';
while ($row = mysql_fetch_assoc ($result)) {
//Elke wedstrijd in een rij weergeven
echo '
<tr>
<td>' . $row['ploegID'] . '</td>
<td>' . $row['wedstrijd'] . '</td>
<td>' . $row['datum'] . '</td>
<td>' . $row['tijd'] . '</td>
<td>' . $row['plaats'] . '</td>
<td>' . $row['info'] . '</td>
</tr>
';
}
}
echo '</table>';
?>
Filip,

Een manier om zo'n bestand te beveiligen is door HTACCESS, je kan dan instellen dat het bestand niet rechtstreeks bekeken mag worden.
Sian,
bedankt hiervoor. Dit gaat me nog net iets te ver denk ik.
Maar ik heb het voorlopig opgelost door, zoals jan en sanThe me hadden aangeraden, het bestand de php extensie te geven.


Jan, jou wil ik ook nog even bedanken voor je snelle oplossing. Nu ga ik de rest nog proberen af te werken en ga het volledige script online zetten als het klaar is.


Thx folks

Reageren