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

Problem z walidacją

Object Storage Arubacloud
0 głosów
250 wizyt
pytanie zadane 2 kwietnia 2016 w PHP przez Paweł123 Nałogowiec (33,500 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,500 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,500 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,500 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ź 225 wizyt
pytanie zadane 9 lutego 2018 w PHP przez skedar Nowicjusz (150 p.)
0 głosów
0 odpowiedzi 141 wizyt
pytanie zadane 18 lipca 2017 w PHP przez Paweł123 Nałogowiec (33,500 p.)
0 głosów
1 odpowiedź 331 wizyt
pytanie zadane 14 kwietnia 2017 w PHP przez ThePatrykOOO Dyskutant (8,400 p.)

92,584 zapytań

141,434 odpowiedzi

319,670 komentarzy

61,967 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!

...