Hallo,

Ik kom hier best vaak, maar ik heb me sinds vandaag aangemeld, omdat ik een vraag heb. Ik heb een script (die je straks ziet, ik heb 'm omgebouwd omdat waarschijnlijk 't onderwerp jullie niet aanspreekt en omdat andere sites ('k geloof 't niet maar je weet maar nooit) 't systeem kunnen overnemen.

Het zit zo: Je selecteert een aantal artikelen die in de winkelwagen worden "gegooid". Die artikelen hebben allemaal een randomwaarde uit de database gekregen. Door die randomwaardes bij elkaar op te tellen (ligt eraan hoeveel producten je hebt geselecteerd) krijg je een random gebeurtenis, waarbij iets ín de database wordt gezet, of juist ergens af (geld) wordt gehaald. Maar dit gebeurt zo vaak als dat je artikelen kunt selecteren! Volgens mij komt 't omdat die querys in een for-loop staan, maar ik zou niet weten hoe ik die eruit moet krijgen.

Dit is de code:
<?PHP

include("config.php");

$winkel = "$naampje";
$winkel_id = "1";

echo "<font color='#F19E02' size='4'><B>$naampje</B></font><P>";


if($_COOKIE[login] == "")
{ echo "Je bent niet ingelogd."; }
else
{
	
//CONTROLE
	
	  	if($verstuur) 
	  	{ 

$random_waarde = 0;		  	
	  			  	
for($nr=0; $geselecteerd[$nr] != NULL; $nr++)
	{ if($ing[$nr] != ""){
	
	$sql7 = mysql_query("SELECT geld FROM users WHERE id='$_COOKIE[potterplanet_login]'");
	$list7 = mysql_fetch_object($sql7);	
		
	$sql6 = mysql_query("SELECT product_id FROM users_spullen WHERE id='$ing[$nr]'");
	$list6 = mysql_fetch_object($sql6);

	$sql5 = mysql_query("SELECT randomwaarde FROM winkels_artikelen WHERE id='$list6->product_id'");
	$list5 = mysql_fetch_object($sql5);
	
	
	$random_waarde =  $random_waarde + $list5->randomwaarde;
	$nieuw_bedrag = $list7->geld - 4930;
	
	$sql8 = mysql_query("SELECT id FROM lessen_temakenspullen");
	$list8 = mysql_num_rows($sql8);	

	$random_product = rand(1,$list8);
	
	$sql9 = mysql_query("SELECT naam FROM lessen_temakenspullen WHERE id='$random_product'");
	$list9 = mysql_fetch_object($sql9);		
		
 	$query_delete = "DELETE FROM users_spullen WHERE id='$ing[$nr]'";
 	$query_boete = "UPDATE users SET geld='$nieuw_bedrag' WHERE id='$_COOKIE[login]'";
 	$query_win = "INSERT INTO users_kochtespullen (user_id, product_id, vak) VALUES ('$_COOKIE[login]', '$random_product', '$winkel_id')";
 	
	}}		

for($nr=0; $geselecteerd[$nr] != NULL; $nr++)
{		
if($random_waarde == "3") 
 { $message = "BOEM!!!! Je winkelwagen crasht! Je bent al je spullen kwijt.";  mysql_query($query_delete); }
//Zo kunnen er meer random gebeurtenissen komen.
}
echo "$message";

 } 
	  	else {
		  	
echo "
	<form method='POST'>
	 <table border='1' width='80%' cellspacing='3' cellpadding='3' bordercolor='#777777' style='border-collapse: collapse;'>
       <tr>
        <td width='60%' bgcolor='#F19E02'><B><center>Winkel</B></td>
        <td width='40%' bgcolor='#F19E02'><center><B>Jouw spullen</B></td>
       </tr>
       <tr>
        <td width='60%' valign='top' bgcolor='#8A8A8A'><center><BR>
		Winkelmandje-omschrijving
        
         </td>
        <td width='40%' bgcolor='#8A8A8A'><center><br>";

			$sql5 = mysql_query("SELECT id, product_id,COUNT(*) FROM users_spullen WHERE user_id='$_COOKIE[login]' AND vak='$vak_id' GROUP BY product_id");
			$aantal5 = mysql_num_rows($sql5);
			
		 	if($aantal5 <= "2"){ echo "<font size='1'><I>Je hebt minimaal 3 verschillende spullen nodig..</i></font>"; }
		 	else {
        echo "<table border='0'>";
        $nr=0;
		 while($list5 = mysql_fetch_object($sql5))
		 {
			 $sql2 = mysql_query("SELECT id, naam, randomwaarde FROM winkels_artikelen WHERE id='$list5->product_id' AND vak='$vak_id'") or die ("MySQL-fout: ".mysql_error());
			 $list2 = mysql_fetch_object($sql2);
			 
			 $sql3 = mysql_query("SELECT id FROM users_spullen WHERE product_id='$list2->id' AND user_id='$_COOKIE[login]'") or die ("MySQL-fout: ".mysql_error());
			 $aantal3 = mysql_num_rows($sql3);
			 
			  echo "<input type='hidden' name='geselecteerd[$nr]' value='1'>
		 </td>
 		 <td> <input type='checkbox' name='ing[$nr]' value='$list5->id'> $list2->naam <font size='1'>(".$aantal3."x)</font></td></tr>"; 
 			 $nr++;
			 } 
echo " </table><br> 
 		<input type='submit' name='verstuur' value='Gooi in je winkelwagen!' $input>"; }
 		echo "
		</td>
 	   </tr>
 	  </table>"; 
	 }
}	 

?>


Nu wil ik graag ook weten hoe je die $ing[$nr] veranderd in (als ik het goed zeg) superglobal, met die $_POST[] eromheen, maar als ik dat hier bij doe krijg ik een error, en aangezien het verplicht is om op onze server die $_POST en $_GET te gebruiken...

Ik hoop dat iemand mij kan helpen,

Groetjes Jaimy
Zet eens helemaal bovenaan je script:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo '<pre>';
print_r ($_POST);
echo '</pre>';
}
?>
Na verzenden van het formulier krijg je dan een keurige printout van alle elementen van de $_POST array op je scherm en weet je dus precies hoe je ze in je script moet noemen.

Nog een tip: $var wordt $_POST['var'] als je met superglobals gaat werken.
Ik ben inderdaad vergeten om de superglobals toe te passen, maar dit wist ik. Dit heb ik gekregen toen ik uw script boven aan mijn pagina zette:


Array
(
[geselecteerd] => Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 1
)

[verstuur] => Gooi in de winkelwagen!
)

Reageren