Odoslanie do databazy

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

Zamčeno
fili
Level 1.5
Level 1.5
Příspěvky: 102
Registrován: 29 pro 2011 14:51

Odoslanie do databazy

Příspěvek od fili »

Mám problém s odoslaním e-mailovej adresy do databázy s nasledujúcim kódom, pričom new je názov tabuľky. Kde mám chybu?

<?php

$sql = 'INSERT INTO new email';

if (isset($_POST["email"]))
{
if (eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$",$_POST['email']))
echo "Váš email bol zaregistrovaný na odber nášho sparvodaja";
else
echo "Zadali ste chybný email!";
}

?>
Uživatelský avatar
LuCaCZ
Level 3.5
Level 3.5
Příspěvky: 929
Registrován: 21 bře 2011 00:02

Re: Odoslanie do databazy

Příspěvek od LuCaCZ »

A to je celý kód?

Chybí ti tam připojení na DB a vykonání příkazu SQL. To co máš v prvním řádku je jen přiřazení příkazu do proměnné a ten je taky blbě.
fili
Level 1.5
Level 1.5
Příspěvky: 102
Registrován: 29 pro 2011 14:51

Re: Odoslanie do databazy

Příspěvek od fili »

No samozrejme pripojenie do DB tam mám, a to je funkčné - funguje pri iných veciach. Problém je v už spomínanej časti kódu.
Skúšal som to písať všelijak, toto bola posledná zúfalá verzia. Môžeš mi napísať ako to má presne byť? Morím sa s tým od včera a nefunguje mi to.
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Odoslanie do databazy

Příspěvek od CZechBoY »

Chtělo by to víc kodu, z tohohle těžko poznat o co jde.
Pokud jedeš na mysql, tak by měl být název tabulky v zpětných apostrofech `new`.
Správný formát INSERT příkazu je INSERT INTO tabulka (sloupce) VALUES (hodnoty).
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
fili
Level 1.5
Level 1.5
Příspěvky: 102
Registrován: 29 pro 2011 14:51

Re: Odoslanie do databazy

Příspěvek od fili »

CZechBoY píše:Chtělo by to víc kodu, z tohohle těžko poznat o co jde.
Pokud jedeš na mysql, tak by měl být název tabulky v zpětných apostrofech `new`.
Správný formát INSERT příkazu je INSERT INTO tabulka (sloupce) VALUES (hodnoty).
Áno skúšal som, také niečo mi vyhodila aj databáza, keď som si dal vytvoriť kód, ale akú hodnotu mám uviesť, pretože
hodnoty sa budú meniť?
Uživatelský avatar
lamin_cz
Level 2.5
Level 2.5
Příspěvky: 320
Registrován: 27 říj 2012 10:26
Bydliště: Kostelec u Holešova
Kontaktovat uživatele:

Re: Odoslanie do databazy

Příspěvek od lamin_cz »

Kód: Vybrat vše

$sql = "INSERT INTO `tabulka` (`sloupec1`, `sloupec2`, `sloupec3`) VALUES ('hodnota1', 'hodnota2','hodnota3')"; 
Hodnoty mohou být proměnné (ošetřené proti injection)

Kód: Vybrat vše

$email = $_POST["email"];
if( filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
 $sql = "INSERT INTO `e-maily` (`email`) VALUES ('$email')";
 ...
} 
  • CPU: Cx6x86L-PR150+
  • MB: XT PRO2
  • GPU: integrovaná
  • RAM: 28Mb SDRAM
PHP, MySQL, HTML, CSS, jQuery ...
fili
Level 1.5
Level 1.5
Příspěvky: 102
Registrován: 29 pro 2011 14:51

Re: Odoslanie do databazy

Příspěvek od fili »

Nefunguje
Uživatelský avatar
lamin_cz
Level 2.5
Level 2.5
Příspěvky: 320
Registrován: 27 říj 2012 10:26
Bydliště: Kostelec u Holešova
Kontaktovat uživatele:

Re: Odoslanie do databazy

Příspěvek od lamin_cz »

fili píše:Nefunguje
To je široký pojem ... pomohlo by chybové hlášení a nebo přesný kód, kterým se to snažíš do databáze dostat, takto to je střílení od boku :-)
  • CPU: Cx6x86L-PR150+
  • MB: XT PRO2
  • GPU: integrovaná
  • RAM: 28Mb SDRAM
PHP, MySQL, HTML, CSS, jQuery ...
fili
Level 1.5
Level 1.5
Příspěvky: 102
Registrován: 29 pro 2011 14:51

Re: Odoslanie do databazy

Příspěvek od fili »

Použil som kód, ktorý si mi poradil. Žiadne chybové hlásenie, vypíše mi ako by to bolo OK "Váš email bol zaregistrovaný na odber nášho spravodaja", ale v databáze nič nepribudlo, ani prázdny riadok.
Uživatelský avatar
lamin_cz
Level 2.5
Level 2.5
Příspěvky: 320
Registrován: 27 říj 2012 10:26
Bydliště: Kostelec u Holešova
Kontaktovat uživatele:

Re: Odoslanie do databazy

Příspěvek od lamin_cz »

Můžeš poslat daný kód? Klidně do SZ, pokud ho nechceš tady veřejně ;-) Takto bychom chybu hledali hodně dlouho :-)
  • CPU: Cx6x86L-PR150+
  • MB: XT PRO2
  • GPU: integrovaná
  • RAM: 28Mb SDRAM
PHP, MySQL, HTML, CSS, jQuery ...
Uživatelský avatar
lamin_cz
Level 2.5
Level 2.5
Příspěvky: 320
Registrován: 27 říj 2012 10:26
Bydliště: Kostelec u Holešova
Kontaktovat uživatele:

Re: Odoslanie do databazy

Příspěvek od lamin_cz »

chyba nalezena - chybělo mysql_query s patřičným dotazem
  • CPU: Cx6x86L-PR150+
  • MB: XT PRO2
  • GPU: integrovaná
  • RAM: 28Mb SDRAM
PHP, MySQL, HTML, CSS, jQuery ...
Zamčeno

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