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.
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.
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...