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

question-closed KURS PHP (odcinek 3) - input ma 12 znaków

VPS Starter Arubacloud
0 głosów
200 wizyt
pytanie zadane 14 lutego 2018 w PHP przez Yashe Dyskutant (7,720 p.)
zamknięte 15 lutego 2018 przez Yashe

Witam

Rozwiązanie problemu pewnie jest bardzo proste, więc do rzeczy. W bonusie do odcinka 3 kursu PHP, ustawiamy zmienne sesyjne, które będą pamiętały wpisane wartości w input'ach w razie błędu.
Nie wiem dlaczego tak się dzieje, ale moje inputy wpisują tam automatycznie 12 nie widocznych znaków, które można usunąć "Backspace'em" 

Jakieś pomysły ?
Pozdrawiam

komentarz zamknięcia: Pomiędzy value="... a <?php... - nie może być przerwy
komentarz 14 lutego 2018 przez hun1er76 Stary wyjadacz (11,960 p.)
Pokaż kod?
komentarz 14 lutego 2018 przez Yashe Dyskutant (7,720 p.)
Tutaj strona logowanie.php
<?php

    session_start();

    if ((isset($_SESSION['zalogowany'])) && ($_SESSION['zalogowany']==true))
    {
        header('Location: gra.php');
        exit();
    }

    if (isset($_POST['email']))
    {
        //Udana walidacja
        $wszystko_OK=true;
        
        //Sprawdź poprawność nickname
        $nick = $_POST['nick'];
        
        //Sprawdzenie dł. nick'a
        if ((strlen($nick)<4) || (strlen($nick)>15))
        {
            $wszystko_OK=false;
            $_SESSION['e_nick']="Nick musi posiadać od 4 do 15 znaków!";
        }
        
        if (ctype_alnum($nick)==false)
        {
            $wszystko_OK=false;
            $_SESSION['e_nick']="Nick może składać się tylko z liter i cyfr";
        }
        
        //Sprawdzanie e-mail
        $email = $_POST['email'];
        $emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
        
        if ((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
        {
            $wszystko_OK=false;
            $_SESSION['e_email']="Podaj poprawny adres e-mail!";
        }
        
        //Sprawdzanie poprawność hasła
        $haslo1 = $_POST['haslo1'];
        $haslo2 = $_POST['haslo2'];
        
        if ((strlen($haslo1)<8) || (strlen($haslo1)>20))
        {
            $wszystko_OK=false;
            $_SESSION['e_haslo']="Hasło musi posiadać od 8 do 20 znaków!";  
        }
        
        if ($haslo1!=$haslo2)
        {
            $wszystko_OK=false;
            $_SESSION['e_haslo']="Podane hasła nie są identyczne!";             
        }
        
        $haslo_hash = password_hash($haslo1,PASSWORD_DEFAULT);
        
        //Akceptacja regulaminu
        if (!isset($_POST['agree']))
        {
            $wszystko_OK=false;
            $_SESSION['e_agree']="Potwierdź akceptację regulaminu!";    
        }
        
        //BOT ?
        $sekret = "6Lc0KUYUAAAAAGw8NpjHtoon1-SddBZQ2W8yGNR0";
        
        $sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$sekret.'&response='.$_POST['g-recaptcha-response']);
        
        $odpowiedz = json_decode($sprawdz);
        
        if ($odpowiedz->success==false)
        {
            $wszystko_OK=false;
            $_SESSION['e_bot']="Potwierdź, że nie jesteś botem!";   
        }
        
        //Zapamiętaj wprowadzone dane
		$_SESSION['fr_nick'] = $nick;
		$_SESSION['fr_email'] = $email;
		$_SESSION['fr_haslo1'] = $haslo1;
		$_SESSION['fr_haslo2'] = $haslo2;
		if (isset($_POST['agree'])) $_SESSION['fr_agree'] = true;
        
        require_once "connect.php";
        mysqli_report(MYSQLI_REPORT_STRICT);
        
        try
        {
            $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);       
            if ($polaczenie->connect_errno!=0)
	        {
                throw new Exception(mysqli_connect_errno());
            }
            else
            {
                //Czy email juz istnieje   
                $rezultat = $polaczenie->query("SELECT id FROM dane WHERE email='$email'");
                
                if (!$rezultat) throw new Exception($polaczenie->error);
                
                $ile_takich_maili = $rezultat->num_rows;
                if($ile_takich_maili>0)
                {
                    $wszystko_OK=false;
                    $_SESSION['e_email']="Istnieje już konto przypisane do tego adresu e-mail!";                      
                }
                
                //Czy nick juz istnieje   
                $rezultat = $polaczenie->query("SELECT id FROM dane WHERE user='$nick'");
                
                if (!$rezultat) throw new Exception($polaczenie->error);
                
                $ile_takich_nickow = $rezultat->num_rows;
                if($ile_takich_nickow>0)
                {
                    $wszystko_OK=false;
                    $_SESSION['e_nick']="Istnieje już gracz o takim nicku!";                      
                }
                
                if ($wszystko_OK==true)
                {
                    //Dodajemy gracza go bazy
                    
                    if ($polaczenie->query("INSERT INTO dane VALUES (NULL,'$nick', '$haslo_hash', '$email', 1000)"))
                    {
                        $_SESSION['udanarejestracja']=true;
                        header('Location: witamy.php');
                    }
                    else
                    {
                        throw new Exception($polaczenie->error);
                    }
                }
                
                $polaczenie->close();
            }
        }
        catch(Exception $e)
        {
            echo '<span style=color:red;">Błąd serwera! Spróbuj później</span>';
            //echo '<br />Błąd: '.$e;
        }
        
        
    }

?>

<!DOCTYPE html>
<html lang="pl" >
<head>
  <meta charset="UTF-8">
    <title>Login Box Concept</title>
    <link rel="icon" href="img/favicon.png" type="image/x-icon"/>
    <link href="fontello2/css/fontello.css" rel="stylesheet" type="text/css" />
    <link rel="stylesheet" href="login.css">
    <script src='https://www.google.com/recaptcha/api.js'></script>
</head>
<body>

<div class="field">
    
    <div class="box">
        <div class="header">
            <h2>Login to your account</h2>
        </div>
        <form action="zaloguj.php" method="post">
            <i class="demo-icon icon-user-o"></i><input type="text" name="login" placeholder="Username" /><br />
            <i class="demo-icon icon-lock"></i><input type="password" name="haslo" placeholder="Password" />
            <?php
                if(isset($_SESSION['blad'])) echo $_SESSION['blad'];
            ?>
            <input type="submit" name="submit" value="Log in"/> 
        </form>
    </div>
    
    <div class="box2">
        <div class="header">
            <h2>Register now for free</h2>
        </div>
        <form  method="post">
            <i class="demo-icon icon-user-o"></i><input type="text" name="nick" placeholder="Username" value="
            <?php
                if (isset($_SESSION['fr_nick']))
                {
                    echo $_SESSION['fr_nick'];
                    unset($_SESSION['fr_nick']);
                }
            ?>"/><br />
            <?php
            
                if (isset($_SESSION['e_nick']))
                {
                    echo '<div class="error">'.$_SESSION['e_nick'].'</div>';
                    unset($_SESSION['e_nick']);
                }
            
            ?>
            <i class="demo-icon icon-lock"></i><input type="password" name="haslo1" placeholder="Password" value="
            <?php
            if (isset($_SESSION['fr_haslo1']))
            {
                echo $_SESSION['fr_haslo1'];
                unset($_SESSION['fr_haslo1']);
            }
            ?>"/><br />
            <?php
            
                if (isset($_SESSION['e_haslo']))
                {
                    echo '<div class="error">'.$_SESSION['e_haslo'].'</div>';
                    unset($_SESSION['e_haslo']);
                }
            
            ?>
            <i class="demo-icon icon-lock"></i><input type="password" name="haslo2" placeholder="Repeat password" value="
            <?php
                if (isset($_SESSION['fr_haslo2']))
                {
                    echo $_SESSION['fr_haslo2'];
                    unset($_SESSION['fr_haslo2']);
                }
            ?>"/><br />
            <i class="demo-icon icon-mail"></i><input type="text" name="email" placeholder="Email" value="
            <?php
                if (isset($_SESSION['fr_email']))
                {
                    echo $_SESSION['fr_email'];
                    unset($_SESSION['fr_email']);
                }
            ?>"/><br />
            <?php
            
                if (isset($_SESSION['e_email']))
                {
                    echo '<div class="error">'.$_SESSION['e_email'].'</div>';
                    unset($_SESSION['e_email']);
                }
            
            ?>
            <div class="g-recaptcha" data-sitekey="6Lc0KUYUAAAAANkqO6iGikAuNVK-LNiCQd1xJRFJ"></div>
            <?php
            
                if (isset($_SESSION['e_bot']))
                {
                    echo '<div class="error">'.$_SESSION['e_bot'].'</div>';
                    unset($_SESSION['e_bot']);
                }
            
            ?>
            <label><input type="checkbox" name="agree" value="
            <?php
            if (isset($_SESSION['fr_agree']))
            {
                echo "cheched";
                unset($_SESSION['fr_agree']);
            }
            ?>"/> Akceptuje <a href="#" class="regulamin">regulamin</a></label><br />
            <input type="submit" name="register" value="Register"/> 
             <?php
            
                if (isset($_SESSION['e_agree']))
                {
                    echo '<div class="error">'.$_SESSION['e_agree'].'</div>';
                    unset($_SESSION['e_agree']);
                }
            
            ?>
        </form>
    </div>


</body>
</html>

Tutaj strona witamy.php

<?php

    session_start();

    if (!isset($_SESSION['udanarejestracja']))
    {
        header('Location: logowanie.php');
        exit();
    }
    else
    {
        unset($_SESSION['udanarejestracja']);        
    }

    //Usuwamy zmienne pamiętających wartości formularza
    if (isset($_SESSION['fr_nick'])) unset($_SESSION['fr_nick']);
    if (isset($_SESSION['fr_haslo1'])) unset($_SESSION['fr_haslo1']);
    if (isset($_SESSION['fr_haslo2'])) unset($_SESSION['fr_haslo2']);
    if (isset($_SESSION['fr_email'])) unset($_SESSION['fr_email']);
    if (isset($_SESSION['fr_agree'])) unset($_SESSION['fr_agree']);

    if (isset($_SESSION['e_nick'])) unset($_SESSION['e_nick']);
    if (isset($_SESSION['e_haslo'])) unset($_SESSION['e_haslo']);
    if (isset($_SESSION['e_email'])) unset($_SESSION['e_email']);
    if (isset($_SESSION['e_bot'])) unset($_SESSION['e_bot']);

?>

 

komentarz 15 lutego 2018 przez mi-20 Stary wyjadacz (13,190 p.)

Miałem kiedyś podobny problem, wystarczyło przesunąć znacznik <?php tak aby nie było przerwy, czyli

...value"<?php....?>" ...

nie daje gwarancji ale spróbuj :)

komentarz 15 lutego 2018 przez Yashe Dyskutant (7,720 p.)

Tak rozwiązałem to już wczoraj, zapomniałem zamknąć tematu. Dokładnie tym samym sposobem smiley

Podobne pytania

0 głosów
1 odpowiedź 145 wizyt
pytanie zadane 29 sierpnia 2018 w PHP przez Szymon hciećwiedzieć Początkujący (330 p.)
0 głosów
1 odpowiedź 536 wizyt
pytanie zadane 2 lutego 2018 w Rozwój zawodowy, nauka, praca przez xxx1990 Początkujący (490 p.)
0 głosów
2 odpowiedzi 351 wizyt
pytanie zadane 26 marca 2020 w HTML i CSS przez Moziu Początkujący (390 p.)

92,453 zapytań

141,262 odpowiedzi

319,086 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...