• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

HTML - wstawiony kod PHP "zamyka się" wcześniej niż tag zamykający ?>

Object Storage Arubacloud
0 głosów
489 wizyt
pytanie zadane 13 kwietnia 2023 w HTML i CSS przez NatSmi Nowicjusz (120 p.)

Cześć, mam taki problem: piszę swoją 1. stronę w .html a w niej formularz. Formularz jest odsyłany do pliku zewnętrznego przez action="partner.php". W tym pliku .php piszę walidację pól z formularza i w przypadku błędu, chcę odpowiedni komunikat podpiąć do pliku html pod danym polem formularza. Tylko teraz jak wstawiam w tym html'u kod php w tagach <?php kod ?> gdzie elementem kodu jest '<div class="error">' to mój html odczytuje znacznik > z diva jako zamknięcie tagu php i printuje na stronie zawartość znajdującą się po tym znaczniu> z diva zamiast zamknąć kod php dopiero przy ?> Tagi otwierające i zamykające php, które widzi mój skrypt zaznaczyłam w poniższym kodzie na czerwono. Co robię źle?

<?php
    session_start();
?>

<!DOCTYPE html>
<html lang="pl">
<head>...mój kod nieistotny w tej materii...</head>

<body>
<main>
    <article>
        <section>
            <div class="text">
                <h3>Formularz zgłoszeniowy dla Partnerów</h3>
                <p> text nieistotny w tej materii</p>
                <form action="partner.php" method="POST">
                    <fieldset id="one">
                        <legend>Informacje dotyczące Partnera</legend>
                        <div class="row">
                            <label>Nazwa firmy</label>
                            <input type="text" name="firma" minlength="3" maxlength="120">
                            <span class="validity"></span>

                            <?php
                                if(isset($_SESSION['error_name']))
                                {
                                    echo '<div class="error">'.$_SESSION['error_name'].'</div>';
                                    unset($_SESSION['error_name']);
                                }
                             ?>
                         </div>
...
</body>

 

komentarz 13 kwietnia 2023 przez VBService Ekspert (252,740 p.)
edycja 13 kwietnia 2023 przez VBService

Czy wyświetla się jakiś komunikat błędu?

Czy zapis na stronie nie wygląda czasem podobnie jak na obrazku?

 

komentarz 14 kwietnia 2023 przez NatSmi Nowicjusz (120 p.)
brak komunikatu o błędzie i właśnie tak wygląda zapis na stronie - printuje wszystko to co po pierwszym znaczniku > w części kodu php zamiast traktować to jako fragment całości kodu php
komentarz 14 kwietnia 2023 przez VBService Ekspert (252,740 p.)

a czy inne skrypty php Tobie działają? Pytam bo taki efekt otrzymałem jak wyłączyłem działanie php na serwerze.

komentarz 14 kwietnia 2023 przez NatSmi Nowicjusz (120 p.)
zamieszałam w pliku odbierającym dane i sprawdzającym kod (czyli w moim partner.php) - dzięki za support, już nie wyświetla kodu :)

1 odpowiedź

0 głosów
odpowiedź 13 kwietnia 2023 przez Michał Kazula Pasjonat (19,540 p.)

<?php</span>

Coś mi tu nie gra.
Nie używasz żadnego IDE do pisania?

komentarz 13 kwietnia 2023 przez NatSmi Nowicjusz (120 p.)
VSC albo Pycharma - nie wyświetlają żadnego błędu, tylko zmieniają kolor w miejscu, gdzie kończą odczytywać kod php i przerzucają się na html, czyli w tym znaczniku pryzy div> zamiast przy ?>
komentarz 13 kwietnia 2023 przez NatSmi Nowicjusz (120 p.)
a ten <span> przy php to przez wklejanie kodu do komentarza i próbę zakolorowania na czerwono miejsc w których łapie początek i koniec kodu php - mój błąd, nie wiedziałam, że ostatecznie wyświetli kolor czerwony jako kod a nie kolor :) także w kodzie źródłowym tego nie ma
komentarz 13 kwietnia 2023 przez NatSmi Nowicjusz (120 p.)

jest:

<div class="row">
   <label>Nazwa firmy</label>
       <input type="text" name="nazwa_firmy" minlength="3" maxlength="120">
       <span class="validity"></span>

       <?php
            if(isset($_SESSION['error_name']))
            {
                   echo '<div class="error">'.$_SESSION['error_name'].'</div>';
                  unset($_SESSION['error_name']);
             }
         ?>
</div>

 

komentarz 13 kwietnia 2023 przez Michał Kazula Pasjonat (19,540 p.)
<?php
session_start();
?>

<!DOCTYPE html>
<html lang="pl">
<head>...mój kod nieistotny w tej materii...</head>

<body>
<main>
    <article>
        <section>
            <div class="text">
                <h3>Formularz zgłoszeniowy dla Partnerów</h3>
                <p> text nieistotny w tej materii</p>
                <form action="partner.php" method="POST">
                    <fieldset id="one">
                        <legend>Informacje dotyczące Partnera</legend>
                        <div class="row">
                            <label>Nazwa firmy</label>
                            <input type="text" name="firma" minlength="3" maxlength="120">
                            <span class="validity"></span>
                            <?php
                            if (isset($_SESSION['error_name'])) {
                                echo '<div class="error">' . $_SESSION['error_name'] . '</div>';
                                unset($_SESSION['error_name']);
                            }
                            ?>
                        </div>
                    </fieldset>
                </form>
            </div>
        </section>
    </article>
</body>
</html>

U mnie działa.

komentarz 14 kwietnia 2023 przez NatSmi Nowicjusz (120 p.)

zazdrszczę :) ja mam tak jak na zdjęciu które powyżej wrzucił użytkownik VBService

Podobne pytania

0 głosów
1 odpowiedź 144 wizyt
0 głosów
1 odpowiedź 274 wizyt
pytanie zadane 21 marca 2019 w HTML i CSS przez Jan Patryk Kowalski Obywatel (1,880 p.)
0 głosów
3 odpowiedzi 337 wizyt
pytanie zadane 4 maja 2018 w HTML i CSS przez Kamil110501 Bywalec (2,490 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...