Jump to content

sessions and functions


Caitlin-havener

Recommended Posts

That function looks fine. But what exactly is the problem? What is the script doing that it's not supposed to do, or what is it not doing that it is supposed to do?
In the browser on the first screen "It's Black team's turn" is displayed. You push "pass" and it still displays "It's Black team's turn"- It should then say "It's Gold team's turn". Also, when you push "bet" it is saying "It's team's turn" (not even inserting the color variable)- It should display black if the prior screen was black and gold if the prior screen was gold.
Link to comment
Share on other sites

The line:

if(isset($_SESSION['turnsess']) || $_SESSION['turnsess']=="gold")

should probably read

if(!isset($_SESSION['turnsess']) || $_SESSION['turnsess']=="gold")

(i.e. if the session has just started or the next turn is for the gold, the black has the current turn)

Am I still not making sense? Or did I run out of help points lol
:)It's a good think we don't have those, or else dudes like this one would've run out of them a long time ago.
Link to comment
Share on other sites

See variable variables for full description of how to do it.In your case, you can have

${$turn.'score'} += $inputbet;

or

${$turn}score += $inputbet;

Keep in mind you can always (and more easily and consistently so) use associative arrays, like:

$score[$turn] += $inputbet;

The only caveact of that is you should initialize your array members in advance, like for example:

$score = array('black'=>0, 'gold'=>0);

Link to comment
Share on other sites

Awesome. I'm now trying to figure out why my scoring system isn't working. There is a session value for the POT and both gold and black team's scores. I have a form that asks for a bet which should be an integer value. I'm doing a var_dump before the bet and after the bet is inputed and POSTed. If the user wins- the bet value should be added to their teams score and subtracted from the POT. If the user loses- the bet value should be subtracted from their teams score and added to the POT. var dump shows that the values are not changing. I think the problem may be here: it is showing that the bet input is a string. Could that be the issue and how would I resolve it?I snipped out the relevant code:

$_SESSION['potscore']=200;		$potscore= $_SESSION['potscore']; 	$_SESSION['blackscore']=900;		$blackscore=$_SESSION['blackscore'];	$_SESSION['goldscore']=900;		$goldscore= $_SESSION['goldscore'];	$_SESSION['inputbet']=$_POST['betvalue'];		$inputbet=$_SESSION['inputbet'];	var_dump($_SESSION);print "Input your bet (with a value of 1 to $potscore):<input type='text' name='betvalue'>";if (($wincard<$maxvalue) && ($wincard>$minvalue))		{			print "<div class='buttons'><br /><br/>You win!<br/>";			/**********SCORING SYSTEM*/					${$turn.'score'}=${$turn.'score'} + $inputbet;			$potscore=$potscore - $inputbet;			var_dump($_SESSION);		}else{			print "<div class='buttons'><br /><br/>You lose!<br/>";			/**********SCORING SYSTEM*/				${$turn.'score'}=${$turn.'score'} - $inputbet;			$potscore=$potscore + $inputbet;			var_dump($_SESSION);		}

The whole thing:

<?phperror_reporting(E_ALL | E_STRICT);ini_set('display_errors', 'Off'); session_start(); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Caitlin's Acey Ducey</title><link rel="stylesheet" type="text/css" href="style.css" /></head><body><div class="roundedBox">	<div class="top"><div class="bottom">	<div class="left"><div class="right">	<div class="topLeft"><div class="topRight">	<div class="bottomLeft"><div class="bottomRight"><div class="boxContent"><div id="content"><form method='post'><script type="text/javascript">	alert("Extra Features: Graphical Cards, limited range.<br/>		  Directions:");</script><?php	$nextaction = isset($_POST['dowhat']) ? $_POST['dowhat'] : '';	/************ SCORING SYSTEM */	$_SESSION['potscore']=200;		$potscore= $_SESSION['potscore']; 	$_SESSION['blackscore']=900;		$blackscore=$_SESSION['blackscore'];	$_SESSION['goldscore']=900;		$goldscore= $_SESSION['goldscore'];	$_SESSION['inputbet']=$_POST['betvalue'];		$inputbet=$_SESSION['inputbet'];	var_dump($_SESSION);			function maxcard_displayfunc(){//var_dump($_SESSION);		$highcard=$_SESSION['maxcardsess'];		switch ($highcard)			{			case 1: 			return $maxcard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			case 2: 			return $maxcard_display="<img class='card_display' src='images/2.jpg' alt=' ' />";  			break;			case 3: 			return $maxcard_display="<img class='card_display' src='images/3.jpg' alt=' ' />";  			break;			case 4: 			return $maxcard_display="<img class='card_display' src='images/4.jpg' alt=' ' />";  			break;			case 5: 			return $maxcard_display="<img class='card_display' src='images/5.jpg' alt=' ' />";  			break;			case 6: 			return $maxcard_display="<img class='card_display' src='images/6.jpg' alt=' ' />";  			break;			case 7: 			return $maxcard_display="<img class='card_display' src='images/7.jpg' alt=' ' />";  			break;			case 8: 			return $maxcard_display="<img class='card_display' src='images/8.jpg' alt=' ' />";  			break;			case 9: 			return $maxcard_display="<img class='card_display' src='images/9.jpg' alt=' ' />";  			break;			case 10: 			return $maxcard_display="<img class='card_display' src='images/10.jpg' alt=' ' />";  			break;			case 14: 			return $maxcard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			case 11:  			return $maxcard_display="<img class='card_display' src='images/J.jpg' alt=' ' />";  			break;			case 12:  			return $maxcard_display="<img class='card_display' src='images/Q.jpg' alt=' ' />";			break;			case 13:  			return $maxcard_display="<img class='card_display' src='images/K.jpg' alt=' ' />";  			break;			default:  			return $maxcard_display=$highcard;			}	}		function mincard_displayfunc(){	//	var_dump($_SESSION);	$lowcard=$_SESSION['mincardsess'];	switch ($lowcard)			{			case 1: 			return $mincard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			case 2: 			return $mincard_display="<img class='card_display' src='images/2.jpg' alt=' ' />";  			break;			case 3: 			return $mincard_display="<img class='card_display' src='images/3.jpg' alt=' ' />";  			break;			case 4: 			return $mincard_display="<img class='card_display' src='images/4.jpg' alt=' ' />";  			break;			case 5: 			return $mincard_display="<img class='card_display' src='images/5.jpg' alt=' ' />";  			break;			case 6: 			return $mincard_display="<img class='card_display' src='images/6.jpg' alt=' ' />";  			break;			case 7: 			return $mincard_display="<img class='card_display' src='images/7.jpg' alt=' ' />";  			break;			case 8: 			return $mincard_display="<img class='card_display' src='images/8.jpg' alt=' ' />";  			break;			case 9: 			return $mincard_display="<img class='card_display' src='images/9.jpg' alt=' ' />";  			break;			case 10: 			return $mincard_display="<img class='card_display' src='images/10.jpg' alt=' ' />";  			break;			case 11:  			return $mincard_display="<img class='card_display' src='images/J.jpg' alt=' ' />";  			break;			case 12:  			return $mincard_display="<img class='card_display' src='images/Q.jpg' alt=' ' />";			break;			case 13:  			return $mincard_display="<img class='card_display' src='images/K.jpg' alt=' ' />";;  			break;			case 14: 			return $mincard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			default:  			return $mincard_display=$lowcard;			}	}		function wincardfunc($wincard){		switch ($wincard)			{			case 1: 			return $wincard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			case 2: 			return $wincard_display="<img class='card_display' src='images/2.jpg' alt=' ' />";  			break;			case 3: 			return $wincard_display="<img class='card_display' src='images/3.jpg' alt=' ' />";  			break;			case 4: 			return $wincard_display="<img class='card_display' src='images/4.jpg' alt=' ' />";  			break;			case 5: 			return $wincard_display="<img class='card_display' src='images/5.jpg' alt=' ' />";  			break;			case 6: 			return $wincard_display="<img class='card_display' src='images/6.jpg' alt=' ' />";  			break;			case 7: 			return $wincard_display="<img class='card_display' src='images/7.jpg' alt=' ' />";  			break;			case 8: 			return $wincard_display="<img class='card_display' src='images/8.jpg' alt=' ' />";  			break;			case 9: 			return $wincard_display="<img class='card_display' src='images/9.jpg' alt=' ' />";  			break;			case 10: 			return $wincard_display="<img class='card_display' src='images/10.jpg' alt=' ' />";  			break;			case 11:  			return $wincard_display="<img class='card_display' src='images/J.jpg' alt=' ' />";  			break;			case 12:  			return $wincard_display="<img class='card_display' src='images/Q.jpg' alt=' ' />";			break;			case 13:  			return $wincard_display="<img class='card_display' src='images/K.jpg' alt=' ' />";  			break;			case 14: 			return $wincard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			default:  			return $wincard_display=$wincard;			}	}function whosturn(){	if(!isset($_SESSION['turnsess']) || $_SESSION['turnsess']=="gold")	{		return $_SESSION['turnsess']="black";	}	else 	{		return $_SESSION['turnsess']="gold";	}}print"<h1 id='header'>Acey-Ducey</h1>";maincontent();print "<div class='right_side'><h2>Score:</h2><br/><h3 class='pot'>POT</h3><h3 class='pot'>$potscore</h3></br><h3 class='black'>Black</h3><h3 class='black'>$blackscore</h3></br><h3 class='gold'>Gold</h3><h3 class='gold'>$goldscore</h3></br></div>";function maincontent(){	global $nextaction;	if (!$nextaction || ($nextaction=="PASS") || ($nextaction=="NEXT DRAW")) 	{			#################	## SCREEN 1	#################	##  !! Extra Features: Graphical cards, limited range			global $potscore;		global $goldscore;		global $blackscore;				$target1=rand(2,14);		$target2=rand(2,14);		//$wincard=rand(1,14);				$maxcard=max($target1,$target2);		$mincard=min($target1,$target2);				$_SESSION['maxcardsess']=$maxcard; 		$_SESSION['mincardsess']=$mincard;		$maxcard_value=$_SESSION['maxcardsess'];		$mincard_value=$_SESSION['mincardsess'];								//change the way value is displayed (to look like a card J,K,Q,A)		$maxcard_display=maxcard_displayfunc();		$mincard_display=mincard_displayfunc();						////////////////////////////////////////////////////////		//  If card is an ace, change value of ace to 1 or 14, 		//  whichever is more favorable to user. 		////////////////////////////////////////////////////////				if($maxcard_display=="A"){			$othercard=$_SESSION['mincardsess'];						if($othercard-1 > 14-$othercard){				$acecard=1;				$_SESSION['maxcardsess']=max($othercard,$acecard);				$_SESSION['mincardsess']=min($othercard,$acecard);				print "</br>Ace will have a value of $acecard, because it favors your bet.";			}else{				$acecard=14;				$_SESSION['maxcardsess']=max($othercard,$acecard);				$_SESSION['mincardsess']=min($othercard,$acecard);				print "</br>Ace will have a value of $acecard, because it favors your bet.";			}				}else if($mincard_display=="A"){			$othercard=$_SESSION['maxcardsess'];						if($othercard-1 > 14-$othercard){				$acecard=1;				$_SESSION['maxcardsess']=max($othercard,$acecard);				$_SESSION['mincardsess']=min($othercard,$acecard);				print "</br>Ace will have a value of $acecard, because it favors your bet.";			}			else{				$acecard=14;				$_SESSION['maxcardsess']=max($othercard,$acecard);				$_SESSION['mincardsess']=min($othercard,$acecard);				print "</br>Ace will have a value of $acecard, because it favors your bet.";		}}				///			    /////////////////////////////////////////////////////		//  If cards are too close in value, generate new set 		////////////////////////////////////////////////////////		if(($maxcard_value-$mincard_value==0) || ($maxcard_value-$mincard_value==1)){			maincontent();		}else{			$turn=whosturn();		print "<div class='right_side'><h2>It is $turn team's turn.</h2> <br /></div>";		print "<div class='cards'><div class='cardboxes'>high card=<br/>$maxcard_display </div>";		print "<div class='cardboxes'>low card=<br/>$mincard_display</div></div><br /><br />";		print "Input your bet (with a value of 1 to $potscore):<input type='text' name='betvalue'>";		print "<div class='buttons'><input type='submit' name='dowhat' value='BET'>";		print "<input type='submit' name='dowhat' value='PASS'></div>";		}				}else if ($nextaction=="BET")	{		####################		# SCREEN TWO		####################		global $potscore;		global $goldscore;		global $blackscore;				$turn=$_SESSION['turnsess'];		print "<div class='right_side'><h2>It is $turn team's turn.</h2> <br /></div>";		$wincard=rand(2,14);					$wincard_display=wincardfunc($wincard);				$maxcard_display=maxcard_displayfunc();		$mincard_display=mincard_displayfunc();				$maxvalue=$_SESSION['maxcardsess']; 		$minvalue=$_SESSION['mincardsess'];				print "<div class='cards'><div class='cardboxes'>highcard=<br/>$maxcard_display </div>";		print "<div class='cardboxes'>target=<br/>$wincard_display </div>";		print "<div class='cardboxes'>lowcard=<br/>$mincard_display </div></div>";				if (($wincard<$maxvalue) && ($wincard>$minvalue))		{			print "<div class='buttons'><br /><br/>You win!<br/>";			/**********SCORING SYSTEM*/					${$turn.'score'}=${$turn.'score'} + $inputbet;			$potscore=$potscore - $inputbet;			var_dump($_SESSION);		}else{			print "<div class='buttons'><br /><br/>You lose!<br/>";			/**********SCORING SYSTEM*/				${$turn.'score'}=${$turn.'score'} - $inputbet;			$potscore=$potscore + $inputbet;			var_dump($_SESSION);		}				print "<input type='submit' name='dowhat' value='NEXT DRAW'></div>";/***********SCORING SYSTEM*/			//run out of money in pot			if($potscore==0){				$potscore=200;				$blackscore=$blackscore-100;				$goldscore=$goldscore-100;			}			//winner loser			if($goldscore==0){				print "Black team wins!";				print "<button that says 'play again'>";			}			else if($blackscore==0){				print"Gold team wins!";				print "<button that says 'play again'>";			}				}else{		print "Error 100: nextaction=$nextaction, but I don't know what to do.";	}}?><tt>Website and program by Caitlin Havener. <br/>Card graphics from [url="http://sopapeldeparede.com.br.</tt>"]http://sopapeldeparede.com.br.</tt>[/url]</form></div></div>	</div></div></div></div></div></div></div></div></div></body></html>

If I'm not making sense let me know.

Link to comment
Share on other sites

You can use intval to convert a numeric string to a number:http://www.php.net/manual/en/function.intval.phpIt will return 0 if the string couldn't be converted.You're setting all of the session variables manually on each page load, so that's why it's not changing. Also, when you do this:

			$potscore=$potscore + $inputbet;			var_dump($_SESSION);

That doesn't also change the value in the session, you need to set that explicitly also:$_SESSION['potscore'] = $potscore = $potscore + $inputbet;

Link to comment
Share on other sites

See variable variables for full description of how to do it.In your case, you can have
${$turn.'score'} += $inputbet;

or

${$turn}score += $inputbet;

Keep in mind you can always (and more easily and consistently so) use associative arrays, like:

$score[$turn] += $inputbet;

The only caveact of that is you should initialize your array members in advance, like for example:

$score = array('black'=>0, 'gold'=>0);

THANKS!I changed these to sessions so how would I concatenate the variable inside the variable. The following doesn't work:$_SESSION['{$turn}score'] += $_SESSION['inputbet'];
Link to comment
Share on other sites

When you have a variable inside of a string you need to use double quotes instead of single quotes in order for the value of the variable to get replaced:$_SESSION["{$turn}score"] += $_SESSION['inputbet'];If you use single quotes, it will print the actual variable name instead of replacing it with the value.

Link to comment
Share on other sites

You can use intval to convert a numeric string to a number:http://www.php.net/manual/en/function.intval.phpIt will return 0 if the string couldn't be converted.You're setting all of the session variables manually on each page load, so that's why it's not changing. Also, when you do this:
$_SESSION['potscore']=200; 	$_SESSION['blackscore']=900;	$_SESSION['goldscore']=900;	$_SESSION['inputbet']=intval($_POST['betvalue']);

It takes this code and then based on who wins or loses there are numbers added or subtracted from the pot and the teams scores. When I push "NEXT DRAW" they are all going back to 200/900/900.The whole thing:

<?php session_start(); error_reporting(0); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Caitlin's Acey Ducey</title><link rel="stylesheet" type="text/css" href="style.css" /></head><body><div class="roundedBox">	<div class="top"><div class="bottom">	<div class="left"><div class="right">	<div class="topLeft"><div class="topRight">	<div class="bottomLeft"><div class="bottomRight"><div class="boxContent"><div id="content"><form method='post'><script type="text/javascript">	alert("Extra Features: Graphical Cards, limited range.<br/>		  Directions:");</script><?php	$nextaction = isset($_POST['dowhat']) ? $_POST['dowhat'] : '';	/************ SCORING SYSTEM */print"var dump before variables initialized";var_dump($_SESSION);	$_SESSION['potscore']=200;		//$potscore= $_SESSION['potscore']; 	$_SESSION['blackscore']=900;		//$blackscore=$_SESSION['blackscore'];	$_SESSION['goldscore']=900;		//$goldscore= $_SESSION['goldscore'];	$_SESSION['inputbet']=intval($_POST['betvalue']);		//$inputbet=$_SESSION['inputbet'];	//var_dump($_SESSION);print"var dump after variables initialized";var_dump($_SESSION);	function maxcard_displayfunc(){//var_dump($_SESSION);		$highcard=$_SESSION['maxcardsess'];		switch ($highcard)			{			case 1: 			return $maxcard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			case 2: 			return $maxcard_display="<img class='card_display' src='images/2.jpg' alt=' ' />";  			break;			case 3: 			return $maxcard_display="<img class='card_display' src='images/3.jpg' alt=' ' />";  			break;			case 4: 			return $maxcard_display="<img class='card_display' src='images/4.jpg' alt=' ' />";  			break;			case 5: 			return $maxcard_display="<img class='card_display' src='images/5.jpg' alt=' ' />";  			break;			case 6: 			return $maxcard_display="<img class='card_display' src='images/6.jpg' alt=' ' />";  			break;			case 7: 			return $maxcard_display="<img class='card_display' src='images/7.jpg' alt=' ' />";  			break;			case 8: 			return $maxcard_display="<img class='card_display' src='images/8.jpg' alt=' ' />";  			break;			case 9: 			return $maxcard_display="<img class='card_display' src='images/9.jpg' alt=' ' />";  			break;			case 10: 			return $maxcard_display="<img class='card_display' src='images/10.jpg' alt=' ' />";  			break;			case 14: 			return $maxcard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			case 11:  			return $maxcard_display="<img class='card_display' src='images/J.jpg' alt=' ' />";  			break;			case 12:  			return $maxcard_display="<img class='card_display' src='images/Q.jpg' alt=' ' />";			break;			case 13:  			return $maxcard_display="<img class='card_display' src='images/K.jpg' alt=' ' />";  			break;			default:  			return $maxcard_display=$highcard;			}	}		function mincard_displayfunc(){	//	var_dump($_SESSION);	$lowcard=$_SESSION['mincardsess'];	switch ($lowcard)			{			case 1: 			return $mincard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			case 2: 			return $mincard_display="<img class='card_display' src='images/2.jpg' alt=' ' />";  			break;			case 3: 			return $mincard_display="<img class='card_display' src='images/3.jpg' alt=' ' />";  			break;			case 4: 			return $mincard_display="<img class='card_display' src='images/4.jpg' alt=' ' />";  			break;			case 5: 			return $mincard_display="<img class='card_display' src='images/5.jpg' alt=' ' />";  			break;			case 6: 			return $mincard_display="<img class='card_display' src='images/6.jpg' alt=' ' />";  			break;			case 7: 			return $mincard_display="<img class='card_display' src='images/7.jpg' alt=' ' />";  			break;			case 8: 			return $mincard_display="<img class='card_display' src='images/8.jpg' alt=' ' />";  			break;			case 9: 			return $mincard_display="<img class='card_display' src='images/9.jpg' alt=' ' />";  			break;			case 10: 			return $mincard_display="<img class='card_display' src='images/10.jpg' alt=' ' />";  			break;			case 11:  			return $mincard_display="<img class='card_display' src='images/J.jpg' alt=' ' />";  			break;			case 12:  			return $mincard_display="<img class='card_display' src='images/Q.jpg' alt=' ' />";			break;			case 13:  			return $mincard_display="<img class='card_display' src='images/K.jpg' alt=' ' />";;  			break;			case 14: 			return $mincard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			default:  			return $mincard_display=$lowcard;			}	}		function wincardfunc($wincard){		switch ($wincard)			{			case 1: 			return $wincard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			case 2: 			return $wincard_display="<img class='card_display' src='images/2.jpg' alt=' ' />";  			break;			case 3: 			return $wincard_display="<img class='card_display' src='images/3.jpg' alt=' ' />";  			break;			case 4: 			return $wincard_display="<img class='card_display' src='images/4.jpg' alt=' ' />";  			break;			case 5: 			return $wincard_display="<img class='card_display' src='images/5.jpg' alt=' ' />";  			break;			case 6: 			return $wincard_display="<img class='card_display' src='images/6.jpg' alt=' ' />";  			break;			case 7: 			return $wincard_display="<img class='card_display' src='images/7.jpg' alt=' ' />";  			break;			case 8: 			return $wincard_display="<img class='card_display' src='images/8.jpg' alt=' ' />";  			break;			case 9: 			return $wincard_display="<img class='card_display' src='images/9.jpg' alt=' ' />";  			break;			case 10: 			return $wincard_display="<img class='card_display' src='images/10.jpg' alt=' ' />";  			break;			case 11:  			return $wincard_display="<img class='card_display' src='images/J.jpg' alt=' ' />";  			break;			case 12:  			return $wincard_display="<img class='card_display' src='images/Q.jpg' alt=' ' />";			break;			case 13:  			return $wincard_display="<img class='card_display' src='images/K.jpg' alt=' ' />";  			break;			case 14: 			return $wincard_display="<img class='card_display' src='images/A.jpg' alt=' ' />";  			break;			default:  			return $wincard_display=$wincard;			}	}function whosturn(){	if(!isset($_SESSION['turnsess']) || $_SESSION['turnsess']=="gold")	{		return $_SESSION['turnsess']="black";	}	else 	{		return $_SESSION['turnsess']="gold";	}}print"<h1 id='header'>Acey-Ducey</h1>";maincontent();print"var dump before print scores";var_dump($_SESSION);/*print "<div class='right_side'><h2>Score:</h2><br/><h3 class='pot'>POT</h3><h3 class='pot'>" .$_SESSION['potscore']. "</h3></br><h3 class='black'>Black</h3><h3 class='black'>" .$_SESSION['blackscore']. "</h3></br><h3 class='gold'>Gold</h3><h3 class='gold'>" .$_SESSION['goldscore']. "</h3></br></div>";*/function maincontent(){	global $nextaction;	if (!$nextaction || ($nextaction=="PASS") || ($nextaction=="NEXT DRAW")) 	{			#################	## SCREEN 1	#################	##  !! Extra Features: Graphical cards, limited range					$target1=rand(2,14);		$target2=rand(2,14);		//$wincard=rand(1,14);				$maxcard=max($target1,$target2);		$mincard=min($target1,$target2);				$_SESSION['maxcardsess']=$maxcard; 		$_SESSION['mincardsess']=$mincard;		$maxcard_value=$_SESSION['maxcardsess'];		$mincard_value=$_SESSION['mincardsess'];								//change the way value is displayed (to look like a card J,K,Q,A)		$maxcard_display=maxcard_displayfunc();		$mincard_display=mincard_displayfunc();						////////////////////////////////////////////////////////		//  If card is an ace, change value of ace to 1 or 14, 		//  whichever is more favorable to user. 		////////////////////////////////////////////////////////				if($maxcard_display=="A"){			$othercard=$_SESSION['mincardsess'];						if($othercard-1 > 14-$othercard){				$acecard=1;				$_SESSION['maxcardsess']=max($othercard,$acecard);				$_SESSION['mincardsess']=min($othercard,$acecard);				print "</br>Ace will have a value of $acecard, because it favors your bet.";			}else{				$acecard=14;				$_SESSION['maxcardsess']=max($othercard,$acecard);				$_SESSION['mincardsess']=min($othercard,$acecard);				print "</br>Ace will have a value of $acecard, because it favors your bet.";			}				}else if($mincard_display=="A"){			$othercard=$_SESSION['maxcardsess'];						if($othercard-1 > 14-$othercard){				$acecard=1;				$_SESSION['maxcardsess']=max($othercard,$acecard);				$_SESSION['mincardsess']=min($othercard,$acecard);				print "</br>Ace will have a value of $acecard, because it favors your bet.";			}			else{				$acecard=14;				$_SESSION['maxcardsess']=max($othercard,$acecard);				$_SESSION['mincardsess']=min($othercard,$acecard);				print "</br>Ace will have a value of $acecard, because it favors your bet.";		}}				///			    /////////////////////////////////////////////////////		//  If cards are too close in value, generate new set 		////////////////////////////////////////////////////////		if(($maxcard_value-$mincard_value==0) || ($maxcard_value-$mincard_value==1)){			maincontent();		}else{			$turn=whosturn();		print "<div class='right_side'><p>It is <b>$turn</b> team's turn.</p> <br /></div>";		print "<div class='cards'><div class='cardboxes'>high card=<br/>$maxcard_display </div>";		print "<div class='cardboxes'>low card=<br/>$mincard_display</div></div><br /><br />";		print "<div class='input'>Input your bet (with a value of 1 to " .$_SESSION['potscore']. "): <input type='text' name='betvalue'></div>";		print "<div class='buttons'><input type='submit' name='dowhat' value='BET'>";		print "<input type='submit' name='dowhat' value='PASS'></div>";		print "<div class='right_side'><h2>Score:</h2><br/><h3 class='pot'>POT</h3><h3 class='pot'>" .$_SESSION['potscore']. "</h3></br><h3 class='black'>Black</h3><h3 class='black'>" .$_SESSION['blackscore']. "</h3></br><h3 class='gold'>Gold</h3><h3 class='gold'>" .$_SESSION['goldscore']. "</h3></br></div>";		}				}else if ($nextaction=="BET")	{		####################		# SCREEN TWO		####################				$turn=$_SESSION['turnsess'];		print "<div class='right_side'><p>It is <b>$turn</b> team's turn.</p> <br /></div>";		$wincard=rand(2,14);					$wincard_display=wincardfunc($wincard);				$maxcard_display=maxcard_displayfunc();		$mincard_display=mincard_displayfunc();				$maxvalue=$_SESSION['maxcardsess']; 		$minvalue=$_SESSION['mincardsess'];				print "<div class='cards'><div class='cardboxes'>highcard=<br/>$maxcard_display </div>";		print "<div class='cardboxes'>target=<br/>$wincard_display </div>";		print "<div class='cardboxes'>lowcard=<br/>$mincard_display </div></div>";				if (($wincard<$maxvalue) && ($wincard>$minvalue))		{			print "<div class='buttons'><br /><br/>You win!<br/>";			/**********SCORING SYSTEM*/					$_SESSION["{$turn}score"] += $_SESSION['inputbet'];			$_SESSION['potscore'] -= $_SESSION['inputbet'];			print"var dump after you win";var_dump($_SESSION);		}else{			print "<div class='buttons'><br /><br/>You lose!<br/>";			/**********SCORING SYSTEM*/				$_SESSION["{$turn}score"] -= $_SESSION['inputbet'];			$_SESSION['potscore'] += $_SESSION['inputbet'];			print"var dump after you lose";var_dump($_SESSION);		}				print "<input type='submit' name='dowhat' value='NEXT DRAW'></div>";/***********SCORING SYSTEM*/			//run out of money in pot			if($_SESSION['potscore']==0){				$_SESSION['potscore']=200;				$_SESSION['blackscore'] -= 100;				$_SESSION['goldscore'] -= 100;			}	print "<div class='right_side'><h2>Score:</h2><br/><h3 class='pot'>POT</h3><h3 class='pot'>" .$_SESSION['potscore']. "</h3></br><h3 class='black'>Black</h3><h3 class='black'>" .$_SESSION['blackscore']. "</h3></br><h3 class='gold'>Gold</h3><h3 class='gold'>" .$_SESSION['goldscore']. "</h3></br></div>";			//winner loser				}else if($_SESSION['goldscore']==0){				print "Black team wins!";				print "<input type='submit' name='dowhat' value='CLEAR/PLAY AGAIN'>";			}	else if($_SESSION['blackscore']==0){				print"Gold team wins!";				print "<input type='submit' name='dowhat' value='CLEAR/PLAY AGAIN'>";			}			else if($nextaction=='CLEAR/PLAY AGAIN'){				session_destroy();				maincontent();			}	else{		print "Error 100: nextaction=$nextaction, but I don't know what to do.";	}}?><tt>Website and program by Caitlin Havener. <br/>Card graphics from [url="http://sopapeldeparede.com.br.</tt>"]http://sopapeldeparede.com.br.</tt>[/url]</form></div></div>	</div></div></div></div></div></div></div></div></div></body></html>

Link to comment
Share on other sites

Still trying to figure this one out. I'm now trying to do the following:

if (!isset($_SESSION['goldscore'])){					   $_SESSION['potscore']=200;	$_SESSION['blackscore']=900;	$_SESSION['goldscore']=900;	$_SESSION['inputbet']=intval($_POST['betvalue']);					   }

So that only if the session variables have not been set will it set them to 200/900/900. But this isn't working either! Now my variables won't change at all!

Link to comment
Share on other sites

I'm sick, I'm on and off the computer all day.You have the right idea with the if statement, in the previous code the session setting code wasn't wrapped in an if statement or function, so it always got executed. You need to check for the betvalue submission individually though, in that if statement it only looks for the bet if the session isn't set. The bet needs to be checked every time (if they clicked Bet), but the session only needs to get initialized once, after that you should only be adding to or subtracting from the scores.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...