PDA

View Full Version : ارسال اطلاعات از طريق فرم



mehdi4467
چهارشنبه 20 مرداد 1389, 18:35 عصر
سلام
من از طريق يك فرم اطلاعات را به ديتا بيس مي فرستم.
فرم من 2 فيلد ورودي دارد. كه در واقع پيش بيني نتيجه يك بازي است. براي ارسال اين دو فيلد مشكلي ندارم.
از طريق SESSION آي دي كاربري كه login كرده است را هم مي فرستم.
فقط مشكل در ارسال يك ديتاي ديگر است. من مي خواهم id بازي را هم بفرستم. ولي اين مورد را نمي توانم.
برنامه هم به شكل زير است:

قسمت فرم:


$result = $db->sql_query("SELECT * FROM `billing_game` LEFT JOIN `billing_results` ON `game_id`=`results_gameid`");
while($show_result=$db->sql_fetcharray($result))
{
if($show_result['game_id'] == $show_result['results_gameid'])
{
$status = $show_result['results_firstteam'];
}
else
{
$status = "
<form action='' method='post'>
<input name='add' type='submit' id='add' value='ثبت' />
<input name='second_results' type='text' class='results_user_input_text ' id='second_results' />
<input name='first_results' type='text' class='results_user_input_text ' id='first_resultse' />
$msg
$g=$show_result['game_first'];
</form>
";

}
?>
<tr>
<td width="98" height="20" align="center" bgcolor="#E6E6E6"><?php echo $status; ?></td>
<td width="126" height="20" align="center" bgcolor="#E6E6E6"><?php echo $show_result['game_first']; ?></td>
<td width="117" height="20" align="center" bgcolor="#E6E6E6"><?php echo $show_result['game_second']; ?></td>
<td width="117" height="20" align="center" bgcolor="#E6E6E6"><?php echo $show_result['game_id']; ?></td>
</tr>
<?php
}


قسمت ارسال ديتا:



function send_game()
{
global $db;
$first_results = get_param($_POST, "first_results");
$second_results = get_param($_POST, "second_results");
//$user_id = get_param($_POST, "user_id");
//$game_id = get_param($_POST, "game_id");

if($first_results == "")
{
$GLOBALS['msg'] = "<font color=red>نتيجه ميزبان وارد نشده است</font>";
}
elseif($second_results == "")
{
$GLOBALS['msg'] = "<font color=red>نتيجه ميهمان وارد نشده است.</font>";
}
else
{
if($db->sql_query("INSERT INTO `billing_results` VALUES (null,'$g', '{$_SESSION['SUB_USER_ID']}', '$first_results', '$second_results', '1')"))
{
$GLOBALS['msg'] = "<font color=green>اطلاعات با موفقیت ارسال شد منتظر تایید مدیر باشید</font>";
}
else
{
$GLOBALS['msg'] = "<font color=red>اطلاعات ارسال نشد</font>";
}
}
}

payamsp
چهارشنبه 20 مرداد 1389, 19:25 عصر
از یک فیلد hidden داخل فرمت برای ارسال این داده استفاده کن .


<input type="hidden" name="gameid" value="654" />

mehdi4467
چهارشنبه 20 مرداد 1389, 21:35 عصر
سلام
من باید متغیر game_id رو باید از دیتا بیس بخونم و با فرم ارسال کنم.
کد رو به صورت زیر می نویسم ولی ارور میده. احتمالا در syntax مشکل دارم


<?php

$result = $db->sql_query("SELECT * FROM `billing_game` LEFT JOIN `billing_results` ON `game_id`=`results_gameid`");
while($show_result=$db->sql_fetcharray($result))
{
if($show_result['game_id'] == $show_result['results_gameid'])
{
$status = $show_result['results_firstteam'];
}
else
{
$status = "
<form action='' method='post'>
<input name='add' type='submit' id='add' value='ثبت' />
<input name='second_results' type='text' class='results_user_input_text ' id='second_results' />
<input name='first_results' type='text' class='results_user_input_text ' id='first_resultse' />
<input type='hidden' name='game_id' value='$show_result['game_id']' />
</form>
";
}
?>

payamsp
پنج شنبه 21 مرداد 1389, 13:58 عصر
خطا به این خاطره


value='$show_result['game_id']'

که به این حالت باید باشه تا خطا گرفته نشه


value='$show_result[game_id]'