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

Problem z walidacją

Mały hosting, OGROMNE możliwości
0 głosów
464 wizyt
pytanie zadane 2 kwietnia 2016 w PHP przez Paweł123 Nałogowiec (33,540 p.)

Cześć, może ktoś wie w czym jest problem.

Dostaję takie powiadomienie


Notice: Undefined index: name in G:\Programy\XAMPP\htdocs\Formularz\index.php on line 11

Notice: Use of undefined constant wszystko_OK - assumed 'wszystko_OK' in G:\Programy\XAMPP\htdocs\Formularz\index.php on line 19
udana walidacja

 

<?php

    session_start();

    if (isset($_POST['email']))
        
    //Udana walidacja.
	$wszystko_OK=true;
    
    //Sprawdzenie poprawnosci name
    $name = $_POST['name'];

    //Sprawdzenie długości name
    if((strlen($name)<3) || (strlen($name)>20))
        {
			$wszystko_OK=false;
			$_SESSION['e_nick']="Imie jest zbyt krótkie";
		}
    if(wszystko_OK==true)
    {
        echo "udana walidacja";
        exit();
        }

?>
<!DOCTYPE HTML>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Formularz Kontaktowy - Tytuł naszej strony</title>
<link rel="stylesheet" href="style.css"/>
    
    <style>
        .e_nick
            {
                color: red;

            }
    </style>

</head>


</body>

<form action="kontakt.php" method="POST" id="myForm">
            
			
	<input type="text" name="name" placeholder="Imię i nazwisko">
    <?php  
    
    if(isset($_SESSION['name']))
			{
				echo '<div class="e_nick">'.$_SESSION['e_nick'].'</div>';
                unset ($_SESSION['e_nick']);
			} 
    ?>
	<input type="email" name="email" placeholder="Adres e-mail" >
	
	<input type="text" name="telefon" placeholder="Adres telefon">
          
	<textarea class="wiadomosc"name="your-message" placeholder="Treść wiadomości"></textarea>
            

            <button type="submit">Wyślij</button>
    </form>




<body>
</html>

 

1 odpowiedź

0 głosów
odpowiedź 2 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)

Sprawdź if`em czy ta zmienna została ustawiona, i dopiero potem rób na niej operacje ;)

Notice: Use of undefined constant wszystko_OK - assumed 'wszystko_OK' in G:\Programy\XAMPP\htdocs\Formularz\index.php on line 19 

 

  if($wszystko_OK==true)

Brak znaku dolara

komentarz 2 kwietnia 2016 przez Paweł123 Nałogowiec (33,540 p.)

ok czy o to chodzi?

Nadal pojawia się błąd

<?php

    session_start();

    if (isset($_POST['name']))
        
    //Udana walidacja.
	$wszystko_OK=true;
    
    //Sprawdzenie poprawnosci name
    $name = $_POST['name'];

    //Sprawdzenie długości name
    if((strlen($name)<3) || (strlen($name)>20))
        {
			$wszystko_OK=false;
			$_SESSION['e_nick']="Imie jest zbyt krótkie";
		}
    if(wszystko_OK==true)
    {
        echo "udana walidacja";
        exit();
        }

?>

 

komentarz 2 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
edycja 2 kwietnia 2016 przez Mateusz11

Dam Ci kod

<?php
 
    session_start();
 
    if (isset($_POST['name'])){ //Sprawdzasz, czy jest ustawiona zmienna name
         
    //Udana walidacja.
    $wszystko_OK=true;
     
    //Sprawdzenie poprawnosci name
    $name = $_POST['name'];
 
    //Sprawdzenie długości name
    if((strlen($name)<3) || (strlen($name)>20))
        {
            $wszystko_OK=false;
            $_SESSION['e_nick']="Imie jest zbyt krótkie";
        }
    if(wszystko_OK==true)
    {
        echo "udana walidacja";
        exit();
        }
 } //jezeli nie to wyswietl zawartosc strony
?>

Pozdrawiam

PS. Wystarczyło dodać klamry do twojego if`a

komentarz 2 kwietnia 2016 przez Paweł123 Nałogowiec (33,540 p.)

Ok, dzięki już nie pojawia się błąd, tylko teraz nie pojawia się ostrzeżenie o tym, że nick jest zbyt krótki

<?php
  
    session_start();
  
    if(isset($_POST['name'])){ //Sprawdzasz, czy jest ustawiona zmienna name
          
    //Udana walidacja.
    $wszystko_OK=true;
      
    //Sprawdzenie poprawnosci name
    $name = $_POST['name'];
  
    //Sprawdzenie długości name
    if((strlen($name)<3) || (strlen($name)>20))
        {
            $wszystko_OK=false;
            $_SESSION['e_nick']="Imie jest zbyt krótkie";
        }
    if(wszystko_OK==true)
    {
        echo "udana walidacja";
        exit();
        }
 } //jezeli nie to wyswietl zawartosc strony
?>
<!DOCTYPE HTML>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Formularz Kontaktowy - Tytuł naszej strony</title>
<link rel="stylesheet" href="style.css"/>
    
    <style>
        .e_nick
            {
                color: red;

            }
    </style>

</head>


</body>

<form action="kontakt.php" method="POST" id="myForm">
            
			
	<input type="text" name="name" placeholder="Imię i nazwisko">
    <?php  
    
    if(isset($_SESSION['name']))
			{
				echo '<div class="e_nick">'.$_SESSION['e_nick'].'</div>';
                unset ($_SESSION['e_nick']);
			} 
    ?>
	<input type="email" name="email" placeholder="Adres e-mail" >
	
	<input type="text" name="telefon" placeholder="Adres telefon">
          
	<textarea class="wiadomosc"name="your-message" placeholder="Treść wiadomości"></textarea>
            

            <button type="submit">Wyślij</button>
    </form>




<body>
</html>

 Nie wiem dlaczego :( 

komentarz 2 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
A na 100% wpisałeś dobry nick?
komentarz 2 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
Mi wszystko działa :)
komentarz 2 kwietnia 2016 przez Paweł123 Nałogowiec (33,540 p.)
Pojawia się Tobie ostrzeżenie pod pierwszym inputem, że "Imie jest zbyt krótkie" kiedy nic nie wpiszesz?

Jeśli walidacja działa to nie ma możliwości wysłania wiadomości (wiadomość do mnie dotarła), wiec coś nie gra.
komentarz 2 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
No to jeżeli nick jest zły, to ustaw zmienną error, na true, i przy wysyłaniu e-maila sprawdź czy ona jest równa true, jezeli tak to nie wysyłaj, jeżeli nie to wyślij.

Podobne pytania

0 głosów
1 odpowiedź 342 wizyt
pytanie zadane 9 lutego 2018 w PHP przez skedar Nowicjusz (150 p.)
0 głosów
0 odpowiedzi 296 wizyt
pytanie zadane 18 lipca 2017 w PHP przez Paweł123 Nałogowiec (33,540 p.)
0 głosów
1 odpowiedź 689 wizyt
pytanie zadane 14 kwietnia 2017 w PHP przez ThePatrykOOO Dyskutant (8,400 p.)

93,717 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,261 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.

...