Formulare PHP,zapis MySQL do DB

3 příspěvky

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Jsem úplný zelenáč, co se PHP,MySQL týče,ale projekt do školy mě nutí se učit... Narazil jsem na problém: Jak data,která VPÍŠI do formuláře(řádku) odešlu do databáze ? <?php $spojeni = mysql_connect('mysql.wz.cz:3306', 'projekttest', 'pass'); if (!$spojeni) { die('Nelze se připojit: ' . mysql_error()); } mysql_select_db("projekttest", $spojeni); $sql="INSERT INTO tab_otazodpo (otazka) VALUES ('{$_POST[otazka]}')"; if (!mysql_query($sql,$spojeni)) { die('Chyba: ' . mysql_error(). ' | '.$sql); } ?> //FORMULAR-textove pole <td><input type="Text" name="otakza" size="40" maxlength="20" SELECT="<?echo - ! co zde má být(proměnná?!jestli to vůbec půjde) ? - ;?>"></td> <form ACTION=" -- co zde?! -- " METHOD="GET"> <input TYPE=Submit zkoušel jsem dosadit promennou za ECHO i za <form ACTION= ,ale to je nesmysl. V databazi se mi pak na novy radek vpise prazdny radek bez textu. Nevim si rady... Ještě jsem zkoušel : </head> <body> <? MySQL_Connect("mysql.wz.cz:3306", "projekttest", "pass"); MySQL_Select_DB("projekttest"); MySQL_Query("INSERT INTO tab_otazodpo(otazka) SELECT ('$_o')"); $_o = "$_o"; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <form method="post" action="Nazev.php"> <input type="Hidden" name="send" value="true"> <table> <tr> <td>Otazka:</td> <td><input type="Text" name="otakza" size="40" maxlength="20" SELECT="<?echo $_o;?>"></td> <td colspan="2" align="center"> <input type="Submit" value="odeslat"> </td> </tr> </table> </form> </body> opet se do databaze vpise jen prazdny novy radek.
  2. A co takhle překlep? :) <input name="otakza"> určitě nebude pod $_POST[otazka] V těch skriptech máš několik nedostatků, kterých je potřeba se vyvarovat. - form action obsahuje cestu ke skriptu. Pokud odkazuješ na skript umístěný spolu s formulářem, pak se action ponechá prázdné - bude se odkazovat na sebe samu. - mysql_connect() - port není třeba uvádět. Ve většině případů bývá vždy stejný. - Co tam dělá to select u inputu? Tento atribut textové pole nezná. Pokud chceš výběr z možných odpovědí, tak k tomu použij patřičné tagy - input type=checkbox nebo select - Je třeba už na začátku myslet i na bezpečnost. Prostuduj si něco o SQL injection. Čím dřív si to vezmeš do hlavy, tím líp si to budeš pamatovat a používat.
  3. Díky za rady. Tohle bylo strašně zmatečný. Neměl sem tušení oč jde, ale teď už mi vše šlape, tak jak jsem potřeboval :). Akorát jsem to musel celé překopat...

← Zpět na všechna témata