TheCase wrote:That is the full code.
lazzerous is saying that might be the problem. Try to narrow done just where the problem is, first.
And I recommend you adopt a more consistent coding style - PHP won't care how your source code is formatted, so there's no reason not to format it to make it easier to be read by humans. For example, with a section of your code reformatted like this:
<?php
/////////////////////////////////////////////////////// Challenge //////////////////////////////
if(isset($_POST['challengebutton2']))
{
$ladderd = $_POST['ladderd'];
$ladder = in_array($ladderd, array('eu2', 'eu4', 'eu6', 'eu8')) ? 'a' . $ladderd : 'aeu12';
if(isset($ladder))
$currentpointsp = "{$ladderd}p";
$fetchpoints = "SELECT * FROM aacl_team WHERE teamname='$teamnamme'" or trigger_error("Query: $fetchpoints\n<br />MySQL Error: " . mysql_error());
$fetchpoints2 = mysql_query($fetchpoints);
while($fetchpoints3 = mysql_fetch_assoc($fetchpoints2))
{
$currentpoints = $fetchpoints3["$currentpointsp"];
echo "
<form action=\"manage_team.php\" method=\"post\">
<table align='center' border='2' bordercolor='005DB3'>
<tr>
<td background='Untitled.gif'><center>Select a team</center></td>
</tr>
<tr>
<td bgcolor=\"FFFFFF\">Team:
<select name=\"cteam\">";
$fetchmorepoints = "SELECT * FROM aacl_team WHERE $ladder='0' AND $currentpointsp <= $currentpoints AND teamname != '$teamnamme'" or trigger_error("Query: $fetchmorepoints\n<br />MySQL Error: " . mysql_error());
$fetchmorepoints2 = mysql_query($fetchmorepoints);
while($fetchmorepoints3 = mysql_fetch_assoc($fetchmorepoints2))
{
$morepointteam = $fetchmorepoints3['teamname'];
$morepointteamid = $fetchmorepoints3['id'];
echo "<option value='" . $morepointteamid . "'>" . $morepointteam . "</option>";
}
$fetchlesspoints = "SELECT * FROM aacl_team WHERE $ladder='0' AND $currentpointsp >= $currentpoints AND teamname != '$teamnamme'" or trigger_error("Query: $fetchlesspoints\n<br />MySQL Error: " . mysql_error());
$fetchlesspoints2 = mysql_query($fetchlesspoints);
while($fetchlesspoints3 = mysql_fetch_assoc($fetchlesspoints2))
{
$lesspointteam = $fetchlesspoints3['teamname'];
$lesspointteamid = $fetchlesspoints3['id'];
echo "<option value='" . $lesspointteamid . "'>" . $lesspointteam . "</option>";
}
echo " </select>
<div align=\"center\"><input type=\"submit\" name=\"finishchallenge\" value=\"Finish\" /> </div>
<input type=\"hidden\" name=\"finishchallenge2\" valuev=\"TRUE\" />
</td>
</tr>
</table>
</form>
";
require_once ('includes/footer.html');
}
}
///////// Finish is pressed
////////////////////////////
if(isset($_POST['finishchallenge2']))
{
srand((double)microtime() * 1000000);
$arry_txt = preg_split("/--NEXT--/", join('', file("maps.txt")));
$randommap = $arry_txt[rand(0, sizeof($arry_txt) - 1)];
srand((double)microtime() * 1000000);
$arry_txt = preg_split("/--NEXT--/", join('', file("times.txt")));
$randomtime = $arry_txt[rand(0, sizeof($arry_txt) - 1)];
$randomdate = date('l j F Y', strtotime('+' . rand(4, 10) . ' days'));
$teamchallengedropdown = $_POST['cteam'];
$query1 = "INSERT INTO aacl_match (`team`, `ladder`, `time`, `date`, `map`, `teamchallenged`) VALUES ('$teamnamme', '$ladder', '$randomtime', '$randomdate', '$randommap', '$teamchallengedropdown')";
$result1 = mysql_query($query1) or trigger_error("Query: $query1\n<br />MySQL Error: " . mysql_error());
$dbid = (mysql_insert_id());
//$query2 = "INSERT INTO aacl_comms (teamname, username, text, datetime) VALUES ($teamnamme, $username, $randomtime, $randomdate)";
// $result2 = mysql_query ($query2) or trigger_error("Query: $query1\n<br />MySQL Error: " . mysql_error());
echo "
Completed
<BR><BR><FORM><INPUT TYPE=\"button\" VALUE=\"Back\" onClick=\"history.go(-2);return true\"> </FORM>
";
require_once ('includes/footer.html');
exit();
}
I can see that you only give $ladder a value if $POST['challengebutton2'] is set. So inside the branch that test guards $ladder will have a value, but after that branch finishes (which happens before the if(isset($POST['finishchallenge2'])){...} branch), it will only be set if that test had succeeded.