2008-12-04 3 views
0

Я пытаюсь сделать калькулятор, который будет принимать входные данные от пользователей и оценить для них, сколько денег они будут экономить, если они используют различные различные VoIP-услуги.Основная помощь php form

Я поставил его так:

<form method="get" action="voip_calculator.php"> 
    How much is your monthly phone bill? 
    <input name="monthlybill" type="text" value="$" size="8"> 

    <p><input type="submit" name="Submit" value="Submit"> 
    </p> 
</form> 

На voipcalculator.php, страница я указываю, я хочу назвать «monthlybill», но я не могу понять, как это сделать. Я также не могу понять, как сделать это вычитанием чисел в строках.

Это может быть очень просто для вас, но это очень расстраивает меня, и я смиренно прошу немного помочь. Спасибо!

Вот соответствующий материал из voip_calculator, вы также можете нажать на URL и отправить номер, чтобы увидеть его в (в) действия. Я пробовал различные времена, чтобы назвать его без успеха:

<table width="100%;" border="0" cellspacing="0" cellpadding="0"class="credit_table2" > 

<tr class="credit_table2_brd"> 
    <td class="credit_table2_brd_lbl" width="100px;">Services:</td> 
    <td class="credit_table2_brd_lbl" width="120px;">Our Ratings:</td> 
    <td class="credit_table2_brd_lbl" width="155px;">Your Annual Savings:</td> 
</tr> 

Your monthly bill was <?php echo 'monthlybill' ?> 

<?php echo "$monthlybill"; ?> 
<?php echo "monthlybill"; ?> 
<?php echo '$monthlybill'; ?> 
<?php echo 'monthlybill'; ?> 

<?php 
$monthybill="monthlybill"; 
$re=1; 
$offer ='offer'.$re.'name'; 
$offername= ${$offer}; 
while($offername!="") { 
    $offerlo ='offer'.$re.'logo'; 
    $offerlogo=${$offerlo}; 
    $offerli ='offer'.$re.'link'; 
    $offerlink=${$offerli}; 
    $offeran ='offer'.$re.'anchor'; 
    $offeranchor=${$offeran}; 
    $offerst ='offer'.$re.'star1'; 
    $offerstar=${$offerst}; 
    $offerbot='offer'.$re.'bottomline'; 
    $offerbottomline=${$offerbot}; 
    $offerca ='offer'.$re.'calcsavings'; 
    $offercalcsavings=${$offerca}; 

    echo '<tr > 
      <td > 
       <a href="'.$offerlink.'" target="blank"> 
        <img src="http://www.nextadvisor.com'.$offerlogo.'" alt="'.$offername.'" /> 
       </a> 
      </td> 
      <td > 
       <span class="rating_text">Rating:</span> 
       <span class="star_rating1"> 
        <img src="IMAGE'.$offerstar.'" alt="" /> 
       </span> 
       <br /> 
       <div style="margin-top:5px; color:#0000FF;"> 
        <a href="'.$offerlink.'" target="blank">Go to Site</a> 
        <span style="margin:0px 7px 0px 7px;">|</span> 
        <a href="'.$offeranchor.'">Review</a> 
       </div> 
      </td> 
      <td >'.$offercalcsavings.'</td> 
     </tr>'; 
    $re=$re+1; 
    $offer ='offer'.$re.'name'; 
    $offername= ${$offer}; 

} 
?> 

offercal (1,2,3,4,5,6,7) экономия вызывает в файл с именем values.php, где они определяется следующим образом:

$offer1calcsavings="24.99"; 
$offer2calcsavings="20.00"; 
$offer3calcsavings="21.95"; 
$offer4calcsavings="23.95"; 
$offer5calcsavings="19.95"; 
$offer6calcsavings="23.97"; 
$offer7calcsavings="24.99"; 

ответ

0

Вам нужно получить значение из QueryString и поместить его в переменную PHP.

Как это:

$monthlyBill = $_GET['monthlybill']; 

Теперь переменная $ monthlyBill содержит значение из строки запроса.

Чтобы отобразить:

echo "Your monthly bill is: $monthlyBill"; 
+0

Я также пытаюсь вычесть одну переменную из другого и отображения результата. Я хочу, чтобы $ ежемесячный счет вычитался из $ offer1 (2,3,4,5,6,7) calcsavings, а затем отображался в этой таблице. Можно ли задать этот вопрос как отдельный вопрос? – 2008-12-04 01:19:02

+0

@pg: yep. отправьте ссылку на нее здесь, как только вы закончите. – nickf 2008-12-04 01:33:17

+0

Если вы вставляете обратно обратно пользователю, вы действительно должны либо называть htmlspecialchars() на нем, либо делать какую-то проверку, иначе у вас будет проблема с XSS. – 2008-12-04 09:15:55

0

Одно я сделать это

echo "<pre>"; 
print_r($_GET); 
echo "</pre>"; 

Поместите это где-то в приемном конце, и вы получите понимание случается.

1

Недостаточно деталей для ответа, но давайте упростим и предположим, что у вас есть номера сбережений в массиве, скажем, companySavings. Итак, вы должны вычесть каждое из них из значения, которое пользователь указывает правильно? Вам не нужно называть что-то (вы могли бы, если хотите ...)

, когда пользователь нажимает «Отправить», и страница загружается снова, потяните ежемесячный счет в var, например.

$monthlyBill = $_GET['monthlybill']; //you should do some checking to prevent attacks but that's another matter 

Затем, когда вы создаете список сбережений, это будет выглядеть примерно так

<?php 
    //...code for the rest of the page and starting your table 

    foreach($companySavings as $savings){//insert each row into the table 
     echo("<tr><td>".(comapnyName/Image whatever..)."</td><td>$".$monthlyBill-$savings."</td></tr>); 
    } 
    //... end the table and rest of code 
    ?>