Autor Zpráva
GamerX
Profil
Ahoj mam formulář a v něm bych chtěl asi nejlépe přes javascript v php to by to asi nešlo kontrovat pravosti emailu a jestli je zaškrtnutý checkbox pokud ne tak ho na to script upozorní děkuji.

<form method="POST" name="register">
                        <table style="border-collapse: collapse;">
                        <tr><td>Herní nick:</td> <td><input placeholder="" type="text" class="input" name="jmeno" maxlength="20" value=""></td></tr>
                        <tr><td>Heslo:</td> <td><input placeholder="" type="password" class="input" name="heslo" value=""></td></tr>
                        <tr><td>Potvrzení hesla:</td> <td><input placeholder="" type="password" class="input" name="heslo_znovu" value=""></td></tr>
                        <tr><td>E-mail:</td> <td><input placeholder="" type="text" class="input" name="email" value="@"></td></tr>
                        <tr><td>E-mail potvrzení:</td> <td><input placeholder="" autocomplete="off" type="text" class="input" name="email" value="@"></td></tr>
                        </table>
                        <div class="spacer"></div>
                        <input type="checkbox" name="checkbox"> <b>Souhlasím s <a href="pravidla.php" class="a_green">pravidly</a>.</b>
                        <div class="spacer"></div>
                        <input class="button_silver" type="submit" value="Registrovat se" name="register">
                    </form>
Joker
Profil
GamerX:
Bezva.
1. V čem je problém?
2. Jak zní dotaz?
lionel messi
Profil
GamerX:
Ja by som na to išiel v PHP. Kontrola je nutná na strane servera, klientský skriptu ju má iba dopĺňať (JS sa dá vypnúť). Doplň do súboru tento PHP kód (súbor musí mať koncovku .php):

<?php
if (isset($_POST["register"])) //ak je odoslaný formulár, vyhodnotíme ho
{
  $chyby = array(); //chyby si naskladáme do poľa, v prípade potreby vypíšeme.
  
  //ak nie je zaškrtnutý checkbox
  if (!isset($_POST["checkbox"]))
  {
    $chyby[] = "Musíte súhlasiť s <a href='pravidla.php'>pravidlami</a>.";
  }
  
  //kontrola e-mailu
  $regular = "~[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]~";
  if (!preg_match($regular, $_POST["email"]))
  {
    $chyby[] = "Zadajte správny tvar e-mailu.";
  }
  
  //skontrolujeme, či sú chyby, ak áno, vypíšeme ich
  if(count($chyby))
    {
      foreach ($chyby as $chyba)
      {
        echo $chyba. "<br>";
      }
    }
    
    else
    {
      echo "Formulár bol vyplnený správne!" //nahraď kódom spracujúcim dáta z formulára
    }
}
?>
Marschmallow
Profil
GamerX:
Zkontrolovat validitu e-mailu lze i pomocí PHP. Podívej se sem: mujskript.cz/php/12-overeni-validniho-e-mailu-v-php
lionel messi
Profil
Marschmallow:
Podívej se sem: mujskript.cz/php/12-overeni-validniho-e-mailu-v-php
Veľmi si vážim tvoju snahu o pomoc, skript si určite vytvoril s tým najlepším úmyslom a nie je mojím cieľom zhodiť tvoju prácu. Musím ti však vytknúť použitie zastaralej funkcie ereg a tým pádom nemôžem použitie takéhoto kódu odporučiť (syntakticky tiež nie je pre mňa osobne najprehľadnejší, ale tu sa názory môžu rozchádzať). Môj regulár samozrejme taktiež nie je svetoborný ani dokonalý (dokonalá validácia e-mailu sa aj tak vykonáva málokedy), ale využíva podporovanú funkciu. A spoliehanie sa na zapnutú konfiguračnú direktívu short_open_tag tiež nie je práve najšťastnejšie.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: