dodání ihned! nové
Hledáme programátora do rostoucího týmu ITnetwork.cz, 100% home office, 100% flexibilní pracovní doba. Více informací
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
BF

Diskuze: Formuláč - Časy

Aktivity
Avatar
Lordos
Člen
Avatar
Lordos:19.11.2013 17:50

Ahoj
Potřeboval bych poradit s formulářem. Mám formuláře http://trenink.coursinglovcistrapce.cz/ kde jsou různé časy. Každý formulář se odešle do databáze ale nevím jak udělat abych v tý databázi věděl v jakym formuláři se to odeslalo nebo ještě nejlíp který čas ve formuláři je. Vím je to nějak přes id formuláře ale nevím si s tím rady. Doufám, že jste mě pochopili. Moc díky za všechny rady které pomůžou.

Formuláře: http://trenink.coursinglovcistrapce.cz/

 
Odpovědět
19.11.2013 17:50
Avatar
done
Člen
Avatar
done:19.11.2013 17:55

Můžeš dát každému tagu "<input>" u rozdílného formuláře atrr. "name" kde bude hodnota třeba 1,2,3 a tuto hodnotu ukládat do databáze spolu se záznamem, podle toho poznáš o jaký formulář jde. (formulář 1,2,3)

 
Nahoru Odpovědět
19.11.2013 17:55
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na Lordos
Ondrca:19.11.2013 17:56

S tvým problémem ti bohužel neporadím, ale poradím ti s tím,že ti řeknu že ti nefunguje čeština.

Editováno 19.11.2013 17:57
Nahoru Odpovědět
19.11.2013 17:56
Zase jsem o něco chytřejší
Avatar
Lordos
Člen
Avatar
Odpovídá na Ondrca
Lordos:19.11.2013 18:06

To já vim. Už jsem si toho všimnul. Ale díky

 
Nahoru Odpovědět
19.11.2013 18:06
Avatar
Lordos
Člen
Avatar
Odpovídá na done
Lordos:19.11.2013 18:13

Chápu jak to myslíš ale neporadil bys mi podrobněji. Když změním atribut name i první kolonky Jméno psa tak jak to uložim i s tim číslem do databáze. Díky
Kód přidání

<?php
 $con=mysqli_connect("připojení k databázi ");

 if (mysqli_connect_errno())
   {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }

 $sql="INSERT INTO trenink (jmenopsa, jmenopsapp, plemeno, pohlavi, narozeni, majitel, telefon, email, trasa, poznámka)
 VALUES
 ('$_POST[jmenopsa]','$_POST[jmenopsapp]','$_POST[plemeno]','$_POST[pohlavi]','$_POST[narozeni]','$_POST[majitel]','$_POST[telefon]','$_POST[email]','$_POST[trasa]','$_POST[poznamka]')";

 if (!mysqli_query($con,$sql))
   {
   die('Error: ' . mysqli_error($con));
   }
 echo "Děkujeme, že jste se přihlásili na trénink. Pro zrušení přihlášky prosím pužijte formulář na odhlášení z tréninku nebo nám napište na email [email protected] Děkujeme";

 mysqli_close($con);
 ?>
 
Nahoru Odpovědět
19.11.2013 18:13
Avatar
done
Člen
Avatar
Odpovídá na Lordos
done:19.11.2013 18:17

Tak jinak, dej si tam do každého fomruláře schovaný input s hodnotou formuláře, např:

<input type="hidden" name="formular1">
 
Nahoru Odpovědět
19.11.2013 18:17
Avatar
Lordos
Člen
Avatar
Odpovídá na done
Lordos:19.11.2013 18:50

Tak teď už jsem to pochopil super. Díky ti. :-)

 
Nahoru Odpovědět
19.11.2013 18:50
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Lordos
Petr Nymsa:19.11.2013 19:01

Máš tam nebezpečné SQL injekce ! Bez problému ti tak někdo může smazat celou DB. Takže buď proměnné od uživatele ošetři nebo používej PDO, kde to lze ošetřovat líp.

David Čápka neuvažoval jsi, že by jsi v sekci PHP fórum dal nějak odkaz na článek o injekci ? je to tu furt dokola.

Nahoru Odpovědět
19.11.2013 19:01
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
done
Člen
Avatar
Odpovídá na Lordos
done:19.11.2013 21:35

Za málo.

 
Nahoru Odpovědět
19.11.2013 21:35
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
done
Člen
Avatar
Odpovídá na Petr Nymsa
done:19.11.2013 21:38

Myslím, že by to mělo být napsáno objektově, tím by se taky dalo zamezit SQL injekci. Ale také bych nějaký tutoriál ocenil, hledal jsem podobné rady ohledně bezpečnostního opatření na internetu, ale nikde to není moc vysvětleno.

 
Nahoru Odpovědět
19.11.2013 21:38
Avatar
Lordos
Člen
Avatar
Odpovídá na Petr Nymsa
Lordos:19.11.2013 21:41

Super. Díky. na to jsem vůbec nemyslel. :-)

 
Nahoru Odpovědět
19.11.2013 21:41
Avatar
Lordos
Člen
Avatar
Odpovídá na done
Lordos:20.11.2013 20:54

Ahoj. Ještě bych se chtěl zeptat nevíš jak tam dát češtinu? Aby mi to v databázi ukazovalo i háčky ? Zkoušel jsem to přes mysql_query("SET NAMES utf8"); ale nevím kam to tam vložit. Prosím poraď kód je výšše. Předem Díky

 
Nahoru Odpovědět
20.11.2013 20:54
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Lordos
David Čápka:20.11.2013 20:58

Vložíš to hned po připojení k DB.

Nahoru Odpovědět
20.11.2013 20:58
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Lordos
Člen
Avatar
Odpovídá na David Čápka
Lordos:20.11.2013 21:02

Vypíše to chybu
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in insert.php on line 2

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in insert.php on line 2

 
Nahoru Odpovědět
20.11.2013 21:02
Avatar
done
Člen
Avatar
Odpovídá na David Čápka
done:20.11.2013 21:04

Jde to nastavit i v phpmyadmin jako porovnávání utf8_czech_ci , ne ?:)
Ale to záleží na tom, jestli používá phpmyadmin.

 
Nahoru Odpovědět
20.11.2013 21:04
Avatar
Lordos
Člen
Avatar
Odpovídá na done
Lordos:20.11.2013 21:07

Jde ale nefunguje to. Píše to třeba tohle øèžè

 
Nahoru Odpovědět
20.11.2013 21:07
Avatar
done
Člen
Avatar
Odpovídá na Lordos
done:20.11.2013 21:09

Ale to není problém nastavení češtiny, to je nějakou konfigurací.

 
Nahoru Odpovědět
20.11.2013 21:09
Avatar
Lordos
Člen
Avatar
Odpovídá na done
Lordos:20.11.2013 21:12

Neni v databázi už mám registraci uživatelů a háčky a čárky tam jdou takže max konfigurací celé tabulky asi jo.

 
Nahoru Odpovědět
20.11.2013 21:12
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 18 zpráv z 18.