Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Sprawdzanie czy pole jest wypełnione.


Rekomendowane odpowiedzi

Witam.

 

Mam problem z sprawdzaniem czy pole formularza jest wypełnione.

Tutaj mój kod:

http://hastebin.com/isuxefupam.xml

<php>
header('Content-Type: text/html; charset=utf-8');
$g1 = '		
	<form method="post">
		<input placeholder="1" type="text" name="1" required>
		<input placeholder="2" type="text" name="2" required>
		<input placeholder="3" type="text" name="3">	
		
		<input name="submit" type="submit" value="Generuj">
	</form>
';
$g2 = '
	<textarea id="g_koncowy" class="input-font" cols="40" rows="50">
[center]
[color=#ff66cc]Pole 1:'.$_POST["1"].'[/color]
[color=#ffffff]Pole 2:'.$_POST["2"].'[/color]
[color=#ffffff]Pole 3:'.$_POST["3"].'[/color]

	</textarea>
';

if(isset($_POST['submit'])) {

	if(empty($_POST['1']) || empty($_POST['2'])) {

		$g = $g1;

	} else {

		$g = $g2;
 
	}
}

</php>

<h1 class='ipsType_pagetitle'>:<</h1>

<div class='ipsBox'>
	{$g}
</div>

Opis zmiennych:

  • $g - wyświetlana jako treść strony
  • $g1 - formularz
  • $g2 - wynik formularza

Pole 1 oraz 2 są wymagane, natomiast pole 3 nie jest wymagane i nie chcę, aby w wyniku formularza generowany był zbędny kod dla tego pola (kod bbcode).

 

Przykład:

Wypełniłem pole 1 oraz pole 2, a pole 3 zostawiłem puste. Aktualnie wynik formularza wygląda tak:

Pole 1: wpisana wartość
Pole 2: wpisana wartość
Pole 3:

A chcę, aby wyglądało tak:

Pole 1: wpisana wartość
Pole 2: wpisana wartość

Niestety nie wiem jak zrobić warunek, który sprawdza czy pole 3 jest puste. Jeżeli jest puste to w wyniku formularza nie generuje się dodatkowy kod.

Odnośnik do komentarza
Udostępnij na innych stronach

W ifie nie można użyć "trim", bo nie działa :v

Poprawny kod:

$p3 = trim($_POST["3"]);
if(!(empty($p3))) {
  $g2 .= '[color=#ffffff][b]Wymagania: [/b]'.$_POST["3"].'[/color]'.PHP_EOL;
}

Tak to mniej więcej wygląda. Jeżeli ktoś wie jak można zrobić to inaczej (bez zbędnego tworzenia dodatkowej zmiennej) to proszę o sugestie :>

Odnośnik do komentarza
Udostępnij na innych stronach

Można, widocznie błąd zrobiłeś gdzieś indziej.

Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.

Edytowane przez JamLasica
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.