Odeslání prázdného záznamu Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

honza007100
Level 1.5
Level 1.5
Příspěvky: 139
Registrován: září 11
Pohlaví: Muž
Stav:
Offline

Odeslání prázdného záznamu

Příspěvekod honza007100 » 13 úno 2014 20:25

Zdar, mám tohle

Kód: Vybrat vše

<form method=POST><center>
<table bordercolor="#3d3d3d" cellspacing="5px">
   <tr><td><center>Datum</center></tr>
   <tr><td><input type="text" name="datum" required></tr>
   <tr><td><center>Čas</center></tr>
   <tr><td><input type="text" name="cas" required></tr>
   <tr><td><center><input type="submit" value="Odeslat" id="submit" name="sumbit" ></center></tr>
</table>
</center></form>
<?php
   $db_host = "localhost";
   $db_user = "**";
   $db_pass = "**";
   $db_name = "**";
   $datum = $_POST['datum'];
   $cas = $_POST['cas'];
   mysql_connect($db_host,$db_user,$db_pass);
   mysql_select_db($db_name);
   mysql_query("INSERT INTO tabulka(Datum,Cas) VALUES('".$datum."','".$cas."')");
?>


Začínám v PHP a potřeboval bych, aby když přijdu na stránku s tímto formulářem to neodeslalo hned prázdný záznam. Co tam mám přidat?

Reklama
Uživatelský avatar
LuCaCZ
Level 3.5
Level 3.5
Příspěvky: 929
Registrován: březen 11
Pohlaví: Muž
Stav:
Offline

Re: Odeslání prázdného záznamu

Příspěvekod LuCaCZ » 14 úno 2014 00:00

Kód: Vybrat vše

<?php
if 
($_POST['submit']) {
   $db_host = "localhost";
   $db_user = "**";
   $db_pass = "**";
   $db_name = "**";
   $datum = $_POST['datum'];
   $cas = $_POST['cas'];
   mysql_connect($db_host,$db_user,$db_pass);
   mysql_select_db($db_name);
   mysql_query("INSERT INTO tabulka(Datum,Cas) VALUES('".$datum."','".$cas."')");
}
?>


nejdřív si ale oprav překlep name="sumbit"

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Odeslání prázdného záznamu

Příspěvekod CZechBoY » 14 úno 2014 00:28

čau,
jde to třeba takhle:

Kód: Vybrat vše


<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<title>zkouška formuláře</title>
</head>
<body>
<?php
$chyby 
= array();

if (
$_SERVER['REQUEST_METHOD'] == 'POST') {
  if (empty(
$_POST['datum'])) {
    
$chyby['datum'] = 'Chybí datum';
  }
  if (empty(
$_POST['cas'])) {
    
$chyby['cas'] = 'Chybí čas';
  }
  
  if (empty(
$chyby)) {
    
$db_host "localhost";
    
$db_user "**";
    
$db_pass "**";
    
$db_name "**";

    
$mysql mysqli_connect($db_host$db_user$db_pass$db_name);
    
mysqli_set_charset($mysql'utf8');

    
$datum mysqli_real_escape_string($mysql$_POST['datum']);
    
$cas mysqli_real_escape_string($mysql$_POST['cas']);

    
mysqli_query($mysql"INSERT INTO tabulka(Datum,Cas) VALUES('" $datum "', '" $cas "')");

    
mysqli_close($mysql);
  }
}
?>
<form action="formular.php" method="post">
  <table>
    <tr class="label"><td>Datum</td></tr>
    <?php if (isset($chyby['datum'])) { ?>
    <tr class="error"><td><?php echo $chyby['datum']; ?></td></tr>
    <?php ?>
    <tr><td><input type="date" name="datum" required></td></tr>
    <tr class="label"><td>Čas</td></tr>
    <?php if (isset($chyby['cas'])) { ?>
    <tr class="error"><td><?php echo $chyby['cas']; ?></td></tr>
    <?php ?>
    <tr><td><input type="time" name="cas" required></td></tr>
    <tr><td><button type="submit">Odeslat</button></td></tr>
  </table>
</form>

</body>
</html>


Případně si tam ještě můžeš dodělat vkládání odeslané hodnoty do inputů při chybě ;-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

honza007100
Level 1.5
Level 1.5
Příspěvky: 139
Registrován: září 11
Pohlaví: Muž
Stav:
Offline

Re: Odeslání prázdného záznamu  Vyřešeno

Příspěvekod honza007100 » 16 úno 2014 13:34

LuCaCZ píše:

Kód: Vybrat vše

<?php
if 
($_POST['submit']) {
   $db_host = "localhost";
   $db_user = "**";
   $db_pass = "**";
   $db_name = "**";
   $datum = $_POST['datum'];
   $cas = $_POST['cas'];
   mysql_connect($db_host,$db_user,$db_pass);
   mysql_select_db($db_name);
   mysql_query("INSERT INTO tabulka(Datum,Cas) VALUES('".$datum."','".$cas."')");
}
?>


nejdřív si ale oprav překlep name="sumbit"


Vždyť je to správně :D:D:D


CZechBoY, díky moc, pomohlo.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Seznam[Bot] a 6 hostů