Базовая арифметика с переданными переменными URL через PHP? - PullRequest
0 голосов
/ 03 января 2012

Я пытаюсь сделать некоторую основную арифметику и зацикливаюсь. Я извлекаю переменные из URL-адреса, например:

http://mysite.com/page.php?var1=100&var=5

Это основной код /page.php, который я использую:

<?php
$var1 = "var1";
$var2 = "var2";
$divided_amount = $var1/$var1;
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Derp</title>
</head>
<body style="background-color: #fff; text-align: center;">

        <div style="text-align: center; width: 1000px; background-color: #fff; margin: auto;">

<p>This should be the divided amount: <?php echo $divided_amount ?> </p>


</body>
</html>

Однако я получаю это сообщение об ошибке:

Warning: Division by zero in /derp.php on line 4

Возможно ли это вообще сделать с переданными переменными? Если так, то где я иду не так? Любая помощь с благодарностью!

Ответы [ 3 ]

1 голос
/ 03 января 2012

Q: это (арифметика PHP) вообще возможно сделать с переданными переменными?

A: Конечно.

Q: Куда я идунеправильно?

A: Вы присваиваете переменные ("var1") своим переменным, а затем пытаетесь выполнить арифметику с ними.

Попробуйте вместо этого:

<?php
$var1 = 4;
$var2 = 2;
$divided_amount = $var1/$var1;
?>

Как минимум, перед выполнением арифметики вы можете проверить с помощью is_numeric ():

http://php.net/manual/en/function.is-numeric.php

0 голосов
/ 03 января 2012

Вам необходимо получить доступ к своим переменным через $_GET, например:

<?php
$sum = 0;
if (isset($_GET['var1']) && isset($_GET['var'])) {
    $var1 = $_GET['var1'];
    $var = $_GET['var'];
    $sum = $var1 / $var;
}
?>
0 голосов
/ 03 января 2012

Вы делите строку на другую строку.Попробуйте заменить ваш PHP-код следующим:

<?php
$var1 = $_GET["var1"];
$var2 = $_GET["var2"];
if(is_numeric($var1) && is_numeric($var2) && $var2 != 0)
{
    // Perform division only if the variables are numeric and $var2 is not 0
    $divided_amount = $var1/$var2;
}
else
{
    // Value to be displayed if division is not possible.
    $divided_amount = 0;
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...