Ошибки переключателей PHP и HTML

0

Я совершенно новичок в PHP и недавно научился программировать на PHP и уже немного знал о HTML. Я работаю над этим кодом, используя радиокнопки, формы POST, а также встроенные функции PHP, включая decbin, dechex и т.д., Пожалуйста, проверьте на ошибки код. Я уверен, что его одна из моих собственных ошибок, но помощь будет уважаться. index.html

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title>Radio Buttons</title>
</head>
<body>

<script>
function validateForm() 
{
var x=document.forms["values"]["numeral"].value;
if (x==null || x=="")
{
alert(":(");
return false;
}
}
</script>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,700'         rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Sofia' rel='stylesheet' type='text/css'>
<div class = 'login'>
<h2>Number Converter</h2>
<form method="post" action="conversion.php" name='values'>
<input name='numeral' placeholder='A Number' type='text' autocomplete="off">
<input type="radio" name="rate" id="r1" value="Decimal to others" checked hidden>
<label for="r1" class="radio"><span></span>Decimal to Others</label>
<input type="radio" name="rate" id="r2" value="Binary to others" hidden>
<label for="r2" class="radio"><span></span>Binary to Others</label>
<input type="radio" name="rate" id="r3" value="HexaDecimal to others" hidden>
<label for="r3" class="radio"><span></span>HexaDecimal to others</label>
<input class='animated' type='submit' value='Convert' name='convert'> 
<a class='forgot' href='http://www.facebook.com/nalinbhardwaj.nib' target='_blank'>This project was created by Nalin Bhardwaj</a>
</form>
</div>
</body>
</html>

heres conversion.php

CONVERSION.PHP

<?php

$a = $_POST["numeral"];
if (isset($_POST['convert'])) {

$selected_radio = $_POST['rate'];

if ($selected_radio == 'Decimal to Others') {

echo decbin($a);
echo dechex($a);

}
}
?>
  • 2
    Почему у вас есть пробел между ==?
  • 0
    Хотя это было ошибкой, исправление ничего не меняет
Показать ещё 4 комментария
Теги:
radio-button

3 ответа

0

По моим сведениям, если вы хотите получить значение переключателя в другом файле, попробуйте добавить дополнительный скрытый тип данных вместе с переключателем (потому что значение переключателя не появляется иногда)

    <form method="post" action="conversion.php" name='values'>
    <input type="hidden" name="radio_value" id="radio_value" value="" />
     <input name='numeral' placeholder='A Number' type='text' autocomplete="off">
     <input type="radio" name="rate" id="r1" onClick="document.getElementById(radio_value).value='Decimal to others'" >
     <label for="r1" class="radio"><span></span>Decimal to Others</label>
     <input type="radio" name="rate" id="r2" onClick="document.getElementById(radio_value).value='Binary to others'" >         
     <label for="r2" class="radio"><span></span>Binary to Others</label>
     <input type="radio" name="rate" id="r3" onClick="document.getElementById(radio_value).value='HexaDecimal to others'" >         
     <label for="r3" class="radio"><span></span>HexaDecimal to others</label>
     <input class='animated' type='submit' value='Convert' name='convert'> 
     <a class='forgot' href='http://www.facebook.com/nalinbhardwaj.nib' target='_blank'>This project was created by Nalin Bhardwaj</a>
    </form>

И в Javascript измените это

       $a = $_POST["numeral"];
     if (isset($_POST['convert'])) {
       $selected_radio = $_POST['radio_value'];
     if ($selected_radio == 'Decimal to others') {
       echo decbin($a);
       echo dechex($a);
      }
0

я думаю, что проверка значения "Десятичная на другие" - это "Десятичная для других". o имеет небольшой размер в вашем радиозначении

 <?php

$a = $_POST["numeral"]
if (isset($_POST['convert'])) {

$selected_radio = $_POST['rate'];

if ($selected_radio == 'Decimal to Others') {

echo decbin($a);
echo dechex($a);

}
}

?>

0

У вас есть синтаксические ошибки в этом разделе.

$a = $_POST["numeral"]  // semicolon missing
if ($selected_radio = = 'Decimal to Others') {   // unwanted space

echo decbin($a)     // semicolon missing
echo dechex($a)     // semicolon missing

}

Измените этот раздел:

    $a = $_POST["numeral"];
   if (isset($_POST['convert'])) {
   $selected_radio = $_POST['rate'];
   if ($selected_radio == 'Decimal to Others') {
   echo decbin($a);
   echo dechex($a);
}
}
  • 0
    Строка 4: 'if (isset ($ _ POST [' convert '])) {' right ??
  • 0
    Спасибо за предложения и да, они были не правы, но даже сейчас я вижу пустой экран, на котором ничего нет. ПОЧЕМУ ТАК ?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню