Avatar
Lordos
Člen
Avatar
Lordos:

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:

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:

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  -1 19.11.2013 17:56
Zase jsem o něco chytřejší
Avatar
Lordos
Člen
Avatar
Odpovídá na Ondrca
Lordos:

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:

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 treninky@coursinglovcistrapce.cz Děkujeme";

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

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:

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

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

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  +2 19.11.2013 19:01
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
done
Člen
Avatar
 
Nahoru Odpovědět 19.11.2013 21:35
Avatar
done
Člen
Avatar
Odpovídá na Petr Nymsa
done:

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:

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:

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:

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

Nahoru Odpovědět 20.11.2013 20:58
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Lordos
Člen
Avatar
Odpovídá na David Čápka
Lordos:

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:

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:

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:

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:

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.