Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]sprawdzanie pol
gibonik
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 27.03.2009

Ostrzeżenie: (0%)
-----


jezeli ktores pole jest puste to po nacisnieciu przycisku ma byc komunikat "wypełnij pola" (jezli nie wszystkie sa wypełnione to pamieta dane wpisane, i dopiero jak wszystko bedzie wypełnione to przejdzie do form2.php
a w moim wypadku i tak przechodzi do nastepnego formularza i nie wyswietla kom "wypełnij pola"

  1. <form action="form2.php" method="post">
  2.  
  3. <?
  4.  if(isset($_POST['tresc']) &&($_POST['tytul']=='1' )){
  5.    $_SESSION['tresc']==$_POST['tresc'];
  6.      if(($_SESSION['tresc']==' ') &&($_SESSION['tytul']=='1' )){
  7.      echo 'wypełnij pola';
  8.      }else{
  9.    if(($_SESSION['tresc']=='1' )&& ($_SESSION['tytul']=='1' ))
  10.    echo 'wysłano';}}
  11. echo'<input name="tresc" type="text" id="tresc" />';
  12. echo'<input name="tytul" type="text" id="tytul" />';
  13. echo'<input type="submit" name="Submit"  onclick="tresc" value="wyslij" />';
  14. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
trike
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 9
Dołączył: 9.01.2008

Ostrzeżenie: (0%)
-----


z tego co sie domyslam to
  1. <?php
  2. $_SESSION['tresc'] = $_POST['tresc']
  3. $_SESSION['tytul'] = $_POST['tytul']
  4. ?>

?
po co tyle razy wiec to sprawdzasz? W twoim przypadku przechodzi do nastepnego formularza gdy tresc jest '1' i tytul '1', wiec chyba latwiej bedzie z jednym warunkiem czy jest '1'. A zeby w polach formularza wyswietlilo cos to musisz to podac czyli w tagach input dodaj value="wypisz to co chcesz"

Ten post edytował trike 30.03.2009, 17:03:38
Go to the top of the page
+Quote Post
outsider
post
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 36
Dołączył: 8.08.2008

Ostrzeżenie: (0%)
-----


Sprobuj z empty:

Kod
if( empty($_POST['cos']) {

print 'Wypelnij cos!';

} else { ... }
Go to the top of the page
+Quote Post
gibonik
post
Post #4





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 27.03.2009

Ostrzeżenie: (0%)
-----


Cytat(trike @ 30.03.2009, 16:53:23 ) *
value="wypisz to co chcesz"

tylko jak to dodam to juz na samym poczatku mam w polu np $tresc
Go to the top of the page
+Quote Post
trike
post
Post #5





Grupa: Zarejestrowani
Postów: 82
Pomógł: 9
Dołączył: 9.01.2008

Ostrzeżenie: (0%)
-----


jesli pierwszy raz jestes na formularzu to $_POST['tresc'] nie jest ustawione a co za tym idzie w twoim przypadku $_SESSION['tresc'] tez jest puste wiec jak ci moze cos tam wypisac? a jesli jestes kolejny raz juz no to musialbys sobie ustawiac jakas zmienna ktora ci podaje czy to jest poprawianie formularza czy wypelnianie na nowo
Go to the top of the page
+Quote Post
gibonik
post
Post #6





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 27.03.2009

Ostrzeżenie: (0%)
-----


mam tak, ale cos zle robie bo tego warunku nie uwzglednia
  1. <form action="form2.php" method="post">
  2.  
  3. <?
  4. if(isset($_POST['tresc']) &&($_POST['tytul'])){
  5.   $_SESSION['tresc']==$_POST['tresc'];
  6.   $_SESSION['tytul']==$_POST['tytul'];
  7.     if(($_SESSION['tresc']==" ")||($_SESSION['tytul']==" " )){
  8.     echo 'wypełnij brakujace pola';}
  9.    
  10.   echo 'wysłano';}
  11. ?>
  12. <input name="tresc" type="text" id="tresc" value="<? $_SESSION['tresc'];?>"/>
  13. <input name="tytul" type="text" id="tytul"  value="<? $_SESSION["tytul"];?>" />
  14. <input type="submit" name="Submit" value="wyslij" />
  15. </label>
  16. </form>


Ten post edytował gibonik 30.03.2009, 19:04:43
Go to the top of the page
+Quote Post
trike
post
Post #7





Grupa: Zarejestrowani
Postów: 82
Pomógł: 9
Dołączył: 9.01.2008

Ostrzeżenie: (0%)
-----


chyba do $_SESSION['tresc'] chcesz przypisac $_POST['tresc'] a nie porownac? Zastosuj tylko jedno "="
Go to the top of the page
+Quote Post
gibonik
post
Post #8





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 27.03.2009

Ostrzeżenie: (0%)
-----


tak, porawiłam tylko co trzeba dodać do przycisku bo on dalej przepuszcza formularz dalej
Go to the top of the page
+Quote Post
trike
post
Post #9





Grupa: Zarejestrowani
Postów: 82
Pomógł: 9
Dołączył: 9.01.2008

Ostrzeżenie: (0%)
-----


to mozna by to bylo jeszcze inaczej, zastosowac javascript. W tagi form wpisac
Kod
<form ... onSubmit="if (sprawdz(this)) return true; return false">

a funkcja sprawdzajaca np:
Kod
<script type="text/javascript">
// <![CDATA[
function sprawdz(formularz)
{
    for (i = 0; i < formularz.length; i++)
    {
        var pole = formularz.elements[i];
        if (pole.type == "text"  && pole.value == "")
        {
            alert("Aby przes³aæ formularz nale¿y wype³niæ wszystkie pola!");
            return false;
        }
    }
    return true;
}
// ]]>
</script>

i wtedy nie trzeba bawic sie z zapamietaniem tresci czy tez tytulu. Formularz nie powinien pojsc dalej a wpisy powinny zostac
Go to the top of the page
+Quote Post
gibonik
post
Post #10





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 27.03.2009

Ostrzeżenie: (0%)
-----


a jak te moje poprawić w php?

Ten post edytował gibonik 30.03.2009, 22:17:05
Go to the top of the page
+Quote Post
nexis
post
Post #11





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


Cytat(gibonik @ 30.03.2009, 23:16:38 ) *
a jak te moje poprawić w php?

  1. <?php
  2. if (isset($_POST['submit'])) {
  3.   if (empty($_POST['tresc']) || empty($_POST['tytul'])) {
  4.      echo 'Wypełnij brakujące pola!';
  5.   } else {
  6.      echo 'Wysłano!';
  7.   }
  8. }
  9. ?>
  10. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  11.   <input id="tresc" name="tresc" type="text" value="<?php echo (isset($_POST['tresc'])) ? $_POST['tresc'] : ''; ?>"/>
  12.   <input id="tytul" name="tytul" type="text" value="<?php echo (isset($_POST['tytul'])) ? $_POST['tytul'] : ''; ?>" />
  13.   <input id="submit" name="submit" type="submit" value="wyslij" />
  14. </form>


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
gibonik
post
Post #12





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 27.03.2009

Ostrzeżenie: (0%)
-----


a mozesz mi wyjasnic co znaczy ? $_POST['tytul'] : ''; ten zapis.
i jeszcze pytanko jak to bedzie bo chce zrobić jak bedzie "wysłano" to
przejdzie do nastepnego formularza,

[quote name='nexis' date='30.03.2009, 23:55:30 ' post='591190']
[php]
if (isset($_POST['submit'])) {
if (empty($_POST['tresc']) || empty($_POST['tytul'])) {
echo 'Wypełnij brakujące pola!';
} else {
echo 'Wysłano!';
}
}
?>
Go to the top of the page
+Quote Post
slawny
post
Post #13





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $_POST['tytul'];
  3. ?>

pobranie wartosci pola tytul z formularza, który dane wysyła metodą post.

Przejscie do innego formularza:

header("Location: gdzies.php");

ale to na początku strony musisz dać
  1. <?php
  2. ?>
Go to the top of the page
+Quote Post
gibonik
post
Post #14





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 27.03.2009

Ostrzeżenie: (0%)
-----


jeszcze mam pytanko, jak bedzie z pomyslnym wysłaniem na 1 formularzu tylko jezeli "wysłano" to to wyswietla ten komunikat i pola juz nie trzymaja zmiennych
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:12