2008-12-04 7 views
0

J'essaie de faire une calculatrice qui prendra les entrées des utilisateurs et d'estimer pour eux combien d'argent ils vont économiser s'ils utilisent différents services VoIP différents.aide de base php

Je l'ai établi comme ceci:

<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> 

Sur voipcalculator.php, la page que je tiens, je veux appeler « monthlybill » mais je ne peux pas comprendre comment le faire. Je ne peux pas non plus comprendre comment faire la soustraction sur les nombres dans les lignes.

Cela peut être très simple pour vous mais c'est très frustrant pour moi et je demande humblement un peu d'aide. Je vous remercie!

Voici les choses pertinentes de voip_calculator, vous pouvez également cliquer sur l'URL et de soumettre un certain nombre pour le voir en (in) action. J'ai essayé plusieurs fois de l'appeler sans succès:

<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) appelle l'épargne dans un fichier appelé values.php où ils sont défini comme ceci:

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

Répondre

0

Vous devez obtenir la valeur de QueryString et la placer dans une variable PHP.

Comme ceci:

$monthlyBill = $_GET['monthlybill']; 

maintenant la variable $ monthlyBill contient la valeur de la QueryString.

Pour l'afficher:

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

Je tente aussi de soustraire une variable d'un autre et afficher le résultat. Je veux que $ facture mensuelle soustraite de $ 1 (2,3,4,5,6,7) calcsavings et ensuite affiché dans ce tableau. Devrait demander cela comme une question distincte? –

+0

@pg: oui. poster le lien ici une fois que vous avez terminé. – nickf

+0

Si vous crachez une entrée à l'utilisateur vous devriez soit appeler htmlspecialchars() ou faire une sorte de validation, sinon vous aurez un problème XSS –

0

Une chose que je fais est ce

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

mettre quelque part dans votre fin de réception et vous obtiendrez une compréhension de ce qu'il se passe.

+0

Cela m'a donné à peu près ce que je m'attendais mais il est bon de savoir. Je vous remercie! –

+0

Vous êtes les bienvenus :) –

1

Pas assez de détails fournis pour une réponse mais simplifions et supposons que vous avez les numéros d'épargne dans un tableau, disons, companySavings. Donc, vous devez soustraire chacun d'entre eux de la valeur que l'utilisateur spécifie à droite? Vous n'avez pas besoin d'appeler quelque chose (vous pouvez si vous voulez ...)

Lorsque l'utilisateur clique sur 'Soumettre' et que la page est chargée à nouveau, tirez la valeur mensuelle dans une variable, par exemple.

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

Ensuite, lorsque vous construisez la liste des économies qu'elle ressemblerait à quelque chose comme ça

<?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 
    ?> 
+0

Merci Joe! Vous êtes tous vraiment utiles! –