3v4l.org

run code in 300+ PHP versions simultaneously
<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Calculadora de Propagação HF (Baseado em Dados de Ionosonda)</title> <style> body { font-family: sans-serif; line-height: 1.6; margin: 20px; background-color: #f4f4f4; } .container { max-width: 600px; margin: auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h2, h3 { color: #333; border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 20px; } label { display: block; margin-bottom: 8px; font-weight: bold; } input[type="number"] { width: calc(100% - 22px); padding: 10px; margin-bottom: 20px; border: 1px solid #ccc; border-radius: 4px; } button { background-color: #5cb85c; color: white; padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; } button:hover { background-color: #4cae4c; } .result { margin-top: 20px; padding: 15px; background-color: #dff0d8; border: 1px solid #d0e9c6; color: #3c763d; border-radius: 4px; } .error { margin-top: 20px; padding: 15px; background-color: #f2dede; border: 1px solid #ebccd1; color: #a94442; border-radius: 4px; } .info { margin-top: 20px; font-size: 0.9em; color: #555; } </style> </head> <body> <div class="container"> <h2>Calculadora Simplificada de Propagação HF</h2> <div class="info"> <p>Esta calculadora utiliza valores de foF2 e M(3000)F2 (tipicamente obtidos de dados de ionosonda como os do INPE) para estimar a Frequência Máxima Utilizável (MUF) para um caminho de 3000 km.</p> <p><strong>Fonte de dados (referência):</strong> <a href="https://embracedata.inpe.br/ionosonde/" target="_blank">https://embracedata.inpe.br/ionosonde/</a> (Note: Este script NÃO puxa dados automaticamente desta URL, que é um portal de visualização. Você deve inserir os dados manualmente baseados nas informações que obtiver de lá ou de outras fontes de ionosonda).</p> </div> <form action="" method="post"> <label for="foF2">foF2 (MHz):</label> <input type="number" step="0.1" id="foF2" name="foF2" required value="<?php echo isset($_POST['foF2']) ? htmlspecialchars($_POST['foF2']) : ''; ?>"><br><br> <label for="m3000f2">M(3000)F2:</label> <input type="number" step="0.01" id="m3000f2" name="m3000f2" required value="<?php echo isset($_POST['m3000f2']) ? htmlspecialchars($_POST['m3000f2']) : ''; ?>"><br><br> <button type="submit">Calcular MUF(3000)</button> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $foF2 = filter_input(INPUT_POST, 'foF2', FILTER_VALIDATE_FLOAT); $m3000f2 = filter_input(INPUT_POST, 'm3000f2', FILTER_VALIDATE_FLOAT); if ($foF2 !== false && $foF2 > 0 && $m3000f2 !== false && $m3000f2 > 0) { $muf3000 = $foF2 * $m3000f2; ?> <div class="result"> <h3>Resultado do Cálculo</h3> <p>Com foF2 = <?php echo htmlspecialchars($foF2); ?> MHz e M(3000)F2 = <?php echo htmlspecialchars($m3000f2); ?>,</p> <p>A MUF estimada para um caminho de 3000 km (MUF(3000)) é: <strong><?php echo number_format($muf3000, 2); ?> MHz</strong></p> <h3>Indicação de Bandas HF Potencialmente Abertas (para ~3000 km):</h3> <p>Esta é uma indicação simplificada. Bandas com frequência menor ou igual à MUF(3000) *podem* estar abertas para comunicações a longa distância (~3000 km).</p> <ul> <?php $hf_bands = [ '160m' => 1.8, // Aproximado, mais para a noite/dist curta '80m' => 3.7, // Aproximado '40m' => 7.1, // Aproximado '30m' => 10.1, // Aproximado '20m' => 14.1, // Aproximado '17m' => 18.1, // Aproximado '15m' => 21.2, // Aproximado '12m' => 24.9, // Aproximado '10m' => 28.5 // Aproximado ]; $open_bands = []; $closed_bands = []; foreach ($hf_bands as $band => $freq) { if ($freq <= $muf3000) { $open_bands[] = "$band (~$freq MHz)"; } else { $closed_bands[] = "$band (~$freq MHz)"; } } if (!empty($open_bands)) { echo "<li>Potencialmente abertas: " . implode(", ", $open_bands) . "</li>"; } else { echo "<li>Com esta MUF(3000), as bandas HF listadas podem estar fechadas para caminhos longos.</li>"; } // Opcional: Mostrar bandas potencialmente fechadas para clareza // if (!empty($closed_bands)) { // echo "<li>Potencialmente fechadas: " . implode(", ", $closed_bands) . "</li>"; // } ?> </ul> <div class="info"> <p>Lembre-se que a MUF varia com a distância e a hora. A LUF (Lowest Usable Frequency), que depende de fatores como absorção e ruído, também é crítica para determinar quais bandas são *realmente* utilizáveis.</p> </div> </div> <?php } else { ?> <div class="error"> <p>Por favor, insira valores numéricos válidos e maiores que zero para foF2 e M(3000)F2.</p> </div> <?php } } ?> </div> </body> </html>
Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Calculadora de Propagação HF (Baseado em Dados de Ionosonda)</title> <style> body { font-family: sans-serif; line-height: 1.6; margin: 20px; background-color: #f4f4f4; } .container { max-width: 600px; margin: auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h2, h3 { color: #333; border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 20px; } label { display: block; margin-bottom: 8px; font-weight: bold; } input[type="number"] { width: calc(100% - 22px); padding: 10px; margin-bottom: 20px; border: 1px solid #ccc; border-radius: 4px; } button { background-color: #5cb85c; color: white; padding: 10px 15px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; } button:hover { background-color: #4cae4c; } .result { margin-top: 20px; padding: 15px; background-color: #dff0d8; border: 1px solid #d0e9c6; color: #3c763d; border-radius: 4px; } .error { margin-top: 20px; padding: 15px; background-color: #f2dede; border: 1px solid #ebccd1; color: #a94442; border-radius: 4px; } .info { margin-top: 20px; font-size: 0.9em; color: #555; } </style> </head> <body> <div class="container"> <h2>Calculadora Simplificada de Propagação HF</h2> <div class="info"> <p>Esta calculadora utiliza valores de foF2 e M(3000)F2 (tipicamente obtidos de dados de ionosonda como os do INPE) para estimar a Frequência Máxima Utilizável (MUF) para um caminho de 3000 km.</p> <p><strong>Fonte de dados (referência):</strong> <a href="https://embracedata.inpe.br/ionosonde/" target="_blank">https://embracedata.inpe.br/ionosonde/</a> (Note: Este script NÃO puxa dados automaticamente desta URL, que é um portal de visualização. Você deve inserir os dados manualmente baseados nas informações que obtiver de lá ou de outras fontes de ionosonda).</p> </div> <form action="" method="post"> <label for="foF2">foF2 (MHz):</label> <input type="number" step="0.1" id="foF2" name="foF2" required value=""><br><br> <label for="m3000f2">M(3000)F2:</label> <input type="number" step="0.01" id="m3000f2" name="m3000f2" required value=""><br><br> <button type="submit">Calcular MUF(3000)</button> </form> Warning: Undefined array key "REQUEST_METHOD" in /in/agaFT on line 95 </div> </body> </html>
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
72.07 ms | 411 KiB | 5 Q