Jump to content
php.lv forumi

Palīdziet


Dooling

Recommended Posts

Man ir php kods, kurš izveido datubāzi un tabulu ar laukiem.

 

$serv = "localhost";
$user = "turists";
$pass = "";
$db = "BDA";
$table="monitori";

mysql_connect($serv,  $user, $pass);
$cr="CREATE DATABASE ".$db."";
mysql_query($cr);
mysql_select_db($db);
$result="CREATE TABLE ".$table." (nosaukums VARCHAR(100), razotajs TEXT, serija VARCHAR(25), modelis VARCHAR(25) , iz_gads VARCHAR(4), statuss varchar(20), comment varchar(100))";

mysql_query($result);

 

Problēma ir tāda, kad tiek aizpildīti infomācijas lauki un pievienoti datu bāzē, datu bāzē parādās divi ieraksti viens ar aizpildīto informāciju un viens pilnīgi tukšs.

 

include('forma.sig'); 
$i = "insert into ".$table."   values('{$_POST['nosaukums']}','{$_POST['razotajs']}','{$_POST['serija']}','{$_POST['modelis']}','{$_POST['iz_gads']}','{$_POST['statuss']}','{$_POST['comment']}')";
mysql_query($i);
mysql_close();

 

forma.sig

<FORM METHOD=POST ACTION=monitor_reg.php name=new>
<TR>
<TD>Nosaukums</TD>
<TD><INPUT TYPE='text' NAME='nosaukums'></TD>
</TR>
<TR>
<TD>Razotajfirma</TD>
<TD><INPUT TYPE='text' NAME='razotajs'></TD>
</TR>
<TR>
<TD>Serijas numurs</TD>
<TD><INPUT TYPE='text' NAME='serija'></TD>
</TR>
<TR>
<TD>Modela numurs</TD>
<TD><INPUT TYPE='text' NAME='modelis'></TD>
</TR>
<TR>
<SELECT NAME='iz_gads'>
<option selected>GGGG</option>
   <option>1999</option>
   <option>2000</option>
   <option>2001</option>
   <option>2002</option>
   <option>2003</option>
   <option>2004</option>
</SELECT></TD>
</TR>
<TR>
<TD>Statuss</TD>
<TD><SELECT NAME='statuss'>
<option selected >---</option>
<option>remonta</option>
</SELECT</TD>
</TR>
<TR>
<TD>Komentari</TD>
<TD><TEXTAREA NAME='comment' ROWS='' COLS=''></TEXTAREA></TD>
</TR>
</TABLE>
<INPUT TYPE='submit' name="up" value=' Labi ' >
<INPUT TYPE='reset' value=' Dzest '> 
</FORM>

 

Kur tad manā kodā ir kļūda, ja tiek ievietoti 2 ieraksti?

Link to comment
Share on other sites

error_reporting(E_ALL); uzliec skripta sākumā, tad redzēsi.

 

Hints: pirmo reizi atverot formu tiek izpildīts arī insert ... kods, jo tev nav pārbaudes, vai forma tiešām ir tikusi submitota. A otro reizi verot (nospiežot pogu submit), tiek pa īstam dati aizsūtīti.

Link to comment
Share on other sites

Hints: pirmo reizi atverot formu tiek izpildīts arī insert ... kods, jo tev nav pārbaudes, vai forma tiešām ir tikusi submitota. A otro reizi verot (nospiežot pogu submit), tiek pa īstam dati aizsūtīti.

15776[/snapback]

 

Un kā tad, lai to pārbaudi veic?

 

P.S. Esmu iesācējs PHP :unsure:

Link to comment
Share on other sites

Tā kā formā tev ir submitēšanas poga:

<INPUT TYPE='submit' name="up" value=' Labi ' >

(iesaku izvākt ārā tos  

Tad php kodā pirms liec datus, pārbaudi vai ir nosūtiīts POST mainīgais ar nosaukumu "up", tb vai tā vērtība vienāda ar to value.

Link to comment
Share on other sites

×
×
  • Create New...