Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php, mysql] Dlaczego tworzy dwa rekordy?
david069
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 2.03.2008

Ostrzeżenie: (0%)
-----


Mógłby mi ktoś wytłumaczyć fenomen tego że za każdym razem tworzy dwa rekordy w bazie (jeden poprawny (z poprawnymi danymi) i drugi zupełnie pusty) podczas jednego zapytania.
Kod
if($ev=='dodaj')
   {
   echo pl('<form action="index.php?p=admin&ev=dodane" method="post">
       Data:<input type="text" name="data">
      Url obrazka:<input type="text" name="image">
      Tekst:<input type="text" name="tekst">
     <input type="submit" value="Dodaj"></form>');
   }
  
   if($ev=='dodane')
   {
   $data=$_POST['data'];
   $image=$_POST['image'];
   $tekst=$_POST['tekst'];
   //echo $data.$image.$tekst;
  
   $sql=mysql_query("INSERT INTO `events` (`data`, `image`, `tekst`) VALUES ('$data', '$image', '$tekst')");
  
   if(!$sql)
   echo pl('Bład podczas dodawania eventu');
   else
   echo('<b>Event został dodany poprawnie</b>');
   }

Kod
id int(11) auto_increment
   data varchar(40)
   image varchar(200)
   tekst varchar(200)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damian.1923
post
Post #2





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 18.08.2008

Ostrzeżenie: (0%)
-----


witam

proponuję zmienić kolejność i zastosować "else if"

Kod
</P><P>if ($ev==$_GET['dodane'])</P><P>{</P><P>// polecenia SQL</P><P>}</P><P>else if($ev=='dodaj') // lub samo else</P><P>{</P><P>// teraz dopiero formularz</P><P>}</P><P>




pozdrawiam.



sorry, jeszcze raz:

if ($ev==$_GET['dodane'])

{

// polecenia SQL

}

else if($ev=='dodaj') // lub samo else

{

// teraz dopiero formularz

}
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 03:10