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

Bootstrap - formularz zmiany danych

0 głosów
424 wizyt
pytanie zadane 1 października 2016 w PHP przez Kshyhoo Użytkownik (780 p.)

Jak w temacie. Mam już formularz rejestracji/dodania nowego usera. Jak mam skonstruować formularz zmiany danych (e-mail, hasła). Nie chcę pozbyć się właściwości Bootstrap'a. Np. taki kod, nie pozwala mi zatwierdzić formularza, mimo załadowania do inputa dotychczasowego maila z bazy.

<div class="form-group">
	<label for="name">Twój e-mail</label>
	<input type="text" name="email" placeholder="<?php echo $user[2]; ?>" required value="<?php if($error) echo $email; ?>" class="form-control" />
	<span class="text-danger"><?php if (isset($email_error)) echo $email_error; ?></span>
</div>

 

komentarz 1 października 2016 przez jpacanowski VIP (101,920 p.)

Pole formularza (input) obecnie nie ma własnej etykiety. Tagowi <input> musisz dodać id o treści name...

<label for="name" ...
<input id="name" ...

Oczywiście to nie odpowiedź na twój problem.

1 odpowiedź

0 głosów
odpowiedź 1 października 2016 przez PiotrBajer Mądrala (5,300 p.)

Cześć!

W twoim kodzie nie ma formularza. Żeby zatwierdzić formularz np. klikając enter, gdy aktywne jest pole e-mail potrzebujesz znacznika <form>, także przydałby się jakiś przycisk do zatwierdzania (nie wszyscy wiedzą, że naciskając enter zatwierdza się formularz), np. <button> lub <input type="submit">. 

Zobacz formularz, który działa:
 

<form>
<div class="form-group">
    <label for="name">Twój e-mail</label>
    <input type="text" name="email" placeholder="<?php echo $user[2]; ?>" required value="<?php if($error) echo $email; ?>" class="form-control" />
    <span class="text-danger"><?php if (isset($email_error)) echo $email_error; ?></span>
</div>
</form>

 

Jeżeli chcesz, żeby formularz wysyłał się za pomocą metody POST to taki kod:
 

<form method="post">
<div class="form-group">
    <label for="name">Twój e-mail</label>
    <input type="text" name="email" placeholder="<?php echo $user[2]; ?>" required value="<?php if($error) echo $email; ?>" class="form-control" />
    <span class="text-danger"><?php if (isset($email_error)) echo $email_error; ?></span>
</div>
</form>

 

komentarz 2 października 2016 przez Kshyhoo Użytkownik (780 p.)
Nie zrozumiałeś mnie. Wiem, jak powinien wyglądać formularz a mój kod, to jedynie jego wycinek, odpowiadający za zmianę maila. W moim pytaniu chodzi mi o to, że pomimo pobrania i wstrzyknięcia w pole formularza dotychczasowego e-maila, formularz wciąż woła o wypełnienie pola...
komentarz 2 października 2016 przez PiotrBajer Mądrala (5,300 p.)

W takim razie chodzi o to, że masz błąd w linijce:

<input type="text" name="email" placeholder="<?php echo $user[2]; ?>" required value="<?php if($error) echo $email; ?>" class="form-control" />

Wyświetlasz email ze zmiennej $email gdy zmienna $error jest prawdziwa, powinno być chyba gdy zmienna $email jest prawdziwa czyli tak:

​<input type="text" name="email" placeholder="<?php echo $user[2]; ?>" required value="<?php if($email) echo $email; ?>" class="form-control" />

 

komentarz 2 października 2016 przez Kshyhoo Użytkownik (780 p.)

Tu się nie zgodzę. Jeżeli tak, to nie będzie działać walidacja:

if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
	$error = true;
	$email_error = "Proszę podać adres e-mail";
}

 

komentarz 2 października 2016 przez PiotrBajer Mądrala (5,300 p.)

Z Twoją wersją kodu:

<input type="text" name="email" placeholder="<?php echo $user[2]; ?>" required value="<?php if($error) echo $email; ?>" class="form-control" />

E-mail wyświetli się w polu tylko jeżeli jest błąd, w mojej zawsze. Jeżli e-mail nie wyświetla się w ogóle to znaczy, że pod zmienną "$email" nic nie ma. Może jest źle zdeklarowana. 

 

Podobne pytania

0 głosów
3 odpowiedzi 619 wizyt
pytanie zadane 16 lutego 2016 w PHP przez Marcinl Nowicjusz (140 p.)
–1 głos
2 odpowiedzi 383 wizyt
pytanie zadane 12 lutego 2016 w PHP przez Marcinl Nowicjusz (140 p.)
+1 głos
2 odpowiedzi 1,577 wizyt
pytanie zadane 24 czerwca 2016 w PHP przez Ziuziek Mądrala (5,140 p.)

93,776 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,381 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...