dimana masalahnya? Borang html/PHP mudah ini berfungsi dengan baik apabila diuji secara tempatan tetapi gagal pada pelayan langsung
P粉060528326
P粉060528326 2023-09-05 17:03:39
0
1
521
<p>Saya mahu menambah borang "Hantar Mesej" ke tapak web saya yang sedia ada. Saya menjumpai tutorial ini: </p> <p>Borang Perhubungan PHP</p> <p>Saya menyemak kod daripada tutorial, mempelajari cara ia berfungsi, dan kemudian memprogramkannya. Saya menjalankannya dan menguji semuanya pada PC saya dan ia berfungsi dengan sempurna. </p> <p>Saya kemudian meletakkannya pada pelayan sebagai sebahagian daripada tapak web sedia ada. tetapi gagal. Mengklik butang hantar mengosongkan skrin dan borang hilang. Tiada mesej ralat. Tiada apa-apa pun. </p> <p>Kedua-dua XAMPP dan pelayan sebenar menjalankan PHP versi 8.1.12. </p> <p>Ia gagal pada baris kod PHP ini: header('Lokasi: contact.php', true, 303);</p> <p>Saya menghabiskan banyak masa menyahpepijat masalah ini, mempelajari lebih lanjut tentang PHP, mengikuti nasihat yang terdapat pada Stack Overflow dan membaca dokumentasi PHP pada pengepala fungsi(). Saya juga mengambil dua kursus LinkedIn Learning PHP. Tetapi saya tidak dapat mengetahui di mana masalahnya. </p> <p>Saya kemudian mengurangkan masalah kepada kod mudah ini, menjadikannya semudah mungkin dengan hanya borang yang mengandungi butang hantar. Ia mempunyai masalah yang sama seperti bentuk penuh. </p> <p>Ini ialah kod ujian saya: </p> <pre class="brush:php;toolbar:false;"><!doctype html> <html lang="ms"> <kepala> <!-- Teg meta yang diperlukan --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Hubungi</title> </head> <?php session_start(); $request_method = strtoupper($_SERVER['REQUEST_METHOD']); if ($request_method === 'GET'){ ?><form action="for_stack_overflow.php" kaedah="post"> <jenis butang="serah">Hantar Mesej</button> </form> <?php } elseif ($request_method === 'POST'){ header('Lokasi: for_stack_overflow.php', benar, 303); keluar; } ?></html></pre> <p>Kod html/php mudah ini mempunyai masalah yang sama seperti borang penuh saya: selepas mengklik butang hantar, skrin dikosongkan, hanya meninggalkan butang borang. Borang tidak berfungsi. </p> <p>Saya sengaja mengalih keluar semua lekukan kerana saya mengetahui bahawa masalah biasa ialah aksara ruang kosong yang tidak kelihatan menyebabkan pengepala fungsi PHP() gagal.</p> <p>Program ini (dan borang lengkap saya) setiap satu: </p> <ol> <li>Berfungsi dengan sempurna apabila diuji secara setempat pada PC saya;</li> <li>Ia gagal apabila dijalankan pada akaun pengehosan tapak web saya pada pelayan sebenar. </li> </ol> <p>Saya telah mencuba yang terbaik untuk menyelesaikan isu ini. </p> <p>Apa yang berlaku? Apa yang boleh berlaku? Adakah sesuatu yang saya tidak faham? </p>
P粉060528326
P粉060528326

membalas semua(1)
P粉055726146

Alih header()session_start() panggilan sebelum output HTML.

<?php session_start();
...
?>
<!doctype html>
...

Rujukan: https://www.php.net/manual/en/function.header.php

Rujukan: https://www.php.net/manual/en/function.session-start.php

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan