Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]podwojne dodawania rekordow
Forum PHP.pl > Forum > Przedszkole
altar
witam,

mam index.html gdzie jest button po nacisnieciu ktorego otwiera sie nowe okno i wczytywany jest plik dodaj.html w ktorym jest prosty formularz wysylany metoda POST do pliku skrypt.php w ktorym dane z formularza sa dodawana do bazy danych. problem w tym ze skrypt wykonuje sie, czyli dodaje dane do bazy bez wzgledu na to czy nacisne button dodaj czy anuluj, czyli wystarczy otworzyc to okno aby dodac nowy rekord, np pusty jesli nic nie wpisze i wylacze okno przez krzyzyk u gory z prawej. jak zrobic zeby dodawac rekord tylko po nacisnieciu buttona?
piotrooo89
pokaż kod... wróżki maja wolne.
altar
Cytat(piotrooo89 @ 24.05.2008, 20:45:53 ) *
pokaż kod... wróżki maja wolne.


Kod
index.php
<head>
     <script type="text/javascript" src="script.js">    </script>

</head>

<body>

     <?php include('script.php') ?>

     <form>
         <input type="submit" value="Dodaj klienta" onClick="noweOkno('okno.html');">
     </form>

</body>


Kod
okno.html
<html>
<head>
     <script type="text/javascript" src="script.js"></script>
</head>

<body>
     <form action="dodaj.php" method="POST">
         Imie: <input type="text" name="imie">

         Nazwisko: <input type="text" name="nazwisko">

         Adres: <input type="text" name="adres">

         Telefon: <input type="text" name="tel">

         <input type="submit" value="Dodaj Klienta">
         <input type="submit" value="Anuluj" onClick="zamknijOkno('okienko');">
     </form>

</body>
</html>


Kod
script.php
<?php

//tworze krotkie nazwy zmiennych
$imie=$_POST['imie'];
$nazwisko=$_POST['nazwisko'];
$adres=$_POST['adres'];
$tel=$_POST['tel'];

$imie=trim($imie);
$nazwisko=trim($nazwisko);
$adres=trim($adres);
$tel=trim($tel);

$db = mysql_connect('localhost', 'root', '');
mysql_select_db("solarium", $db);
//$zapytanie="insert into klienci ('".$imie."'.'".$nazwisko."'.'".$adres."'.'".$tel."')";
$wynik=mysql_query("insert into klienci SET imie='$imie', nazwisko='$nazwisko', adres='$adres', tel='$tel'");
if(!$wynik){
     die("query failed: ".mysql_error());
}

?>

<script type="text/javascript" src="script.js">
</script>
<p>Dodales nowego klienta.</p>
<form><input type="submit" value="Zamknij" onClick="zamknijOkno('okienko');"></form>


i w pliku script.js dwie funkcje window.open i window.close
piotrooo89
tak na pierwszt rzut oka w formularzu masz:
  1. <form action="dodaj.php" method="POST">

a z tego co widzę dodajesz rekordy w script.php zamień na:
  1. <form action="script.php" method="POST">


btw. używaj odpowiednich bbcode bo nic nie widać...

a co do:
Cytat(altar @ 24.05.2008, 20:41:01 ) *
jak zrobic zeby dodawac rekord tylko po nacisnieciu buttona?

dajesz
  1. <input type="submit" value="Dodaj Klienta" name="dodaj">

i przy sprawdzasz if'em:
  1. <?php
  2. if (!empty($_POST['dodaj']))
  3. {
  4. //instrukcje
  5. }
  6. ?>
altar
[quote name='piotrooo89' post='474929' date='24.05.2008, 21:08:37 ']tak na pierwszt rzut oka w formularzu masz:
  1. <form action="dodaj.php" method="POST">

a z tego co widzę dodajesz rekordy w script.php zamień na:
  1. <form action="script.php" method="POST">


btw. używaj odpowiednich bbcode bo nic nie widać...[/quote]

nie sorki pomylilem sie, ten script.php nazywa sie dodaj.php

a co do:

dajesz
  1. <input type="submit" value="Dodaj Klienta" name="dodaj">

i przy sprawdzasz if'em:
  1. <?php
  2. if (!empty($_POST['dodaj']))
  3. {
  4. //instrukcje
  5. }
  6. ?>

[/quote]

dziala, dzieki wielkie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.