Я совершенно новичок в 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);
}
}
?>
По моим сведениям, если вы хотите получить значение переключателя в другом файле, попробуйте добавить дополнительный скрытый тип данных вместе с переключателем (потому что значение переключателя не появляется иногда)
<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);
}
я думаю, что проверка значения "Десятичная на другие" - это "Десятичная для других". 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);
}
}
?>
У вас есть синтаксические ошибки в этом разделе.
$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);
}
}