Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> formularz -> podgląd -> dopisanie do bazy
roman
post 27.06.2006, 14:11:13
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.07.2004

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


Chcę wykonać formularz, po wypelnieniu którego wyświetlą się dane które wprowadziłem. Na tej stronie powinienem sprawdzic czy dane są właściwe. Jeśli nie to wrócić do strony poprzedniej, jeśli tak do dopisac te dane do bazy mysql.

plik dodaj.php

Kod
<h1>dodawanie do katalogu</h1>

<form action="wypisz.php" method="post">

    <table>
    <tr><td>Firma:</td><td><input type="text" name="Firma" /></td></tr>
    <tr><td>Miejscowość:</td><td><input type="text" name="Miejscowosc" /></td></tr>
    <tr><td>E-mail:</td><td><input type="text" name="Email" /></td></tr>
    <tr><td>www:</td><td><input type="text" name="www" /></td></tr>
    </table>

    <p><input type="submit" name="Submit" value="Podgląd" /> <input type="reset" value="Kasuj" />

</form>


plik wypisz.php

Kod
<h1>podgląd wpisanych danych</h1>

<?php
    print("<p>Firma: <b>$Firma</b>");
    print("<p>Miejscowosc: <b>$Miejscowosc</b>");
    print("<p>E-mail: <b>$Email</b>");
    print("<p>www: <b>$www</b>");
?>

<p><input name="popraw" TYPE="button" VALUE="Popraw" onClick="history.go(-1)" /> <input type="submit" name="zapisz" value="Zapisz" />


Mam problem z ostatnim elementem - dopisaniem do bazy...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Misior
post 27.06.2006, 14:44:50
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 9.06.2006

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


Aby dopisac do bazy musisz uzyc polecenia INSERT INTO
np.
  1. <?php
  2. $query = "INSERT INTO tabela (Firma, Miejscowosc,Email,www) VALUES ('".$_POST['Firma']."','".$_POST['Miejscowosc']."','".$_POST['Email']."','".$_POST['www']."');";
  3. $wynik = mysql_query($query);
  4. ?>


A jesli chcesz te dane pozniej odczytac to:
  1. <?php
  2. $wynik= mysql_query("select Firma,Miejscowosc,Email,www from tabela");
  3.  
  4. while($rekord = mysql_fetch_assoc($wynik)){
  5. $Firma = $rekord['Firma'];
  6. $Miejscowosc = $rekord['Miejscowosc'];
  7. $Email = $rekord['Email'];
  8. $www = $rekord['www'];
  9.  
  10. print "Dane ktore wprowadziles to $Firma , $Miejscowosc , $Email , $www";
  11. ?>


Nio i musisz pamietac aby najpierw polaczyc sie z baza!

Ten post edytował Misior 27.06.2006, 14:47:47
Go to the top of the page
+Quote Post
dyktek
post 27.06.2006, 14:45:17
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


W momencie gdy wydkurujesz te dane na osobnej stronie możesz zrobić tak najporściej dodatkowe 4 pola input hidden w nich zapisac wartości zmiennych i wysłać je postem do pliku, który zapisze je do bazy

  1. <h1>podgląd wpisanych danych</h1>
  2.  
  3. <?php
  4. print("<p>Firma: <b>$Firma</b>");
  5. print("<p>Miejscowosc: <b>$Miejscowosc</b>");
  6. print("<p>E-mail: <b>$Email</b>");
  7. print("<p>www: <b>$www</b>");
  8. <form action="plik_zapisz.php" method="post">
  9. <input type="hidden" name="firma" value="'.$Firma.'">
  10. <input type="hidden" name="firma" value="'.$Miejscowosc.'">
  11. <input type="hidden" name="firma" value="'.$Email.'">
  12. <input type="hidden" name="firma" value="'.$www.'">
  13.  
  14. ';
  15. ?>
  16.  
  17. <p><input name="popraw" TYPE="button" VALUE="Popraw" onClick="history.go(-1)" /> <input type="submit" name="zapisz" value="Zapisz" />
  18. </form>


i treaz w pliku "plik_zapisz.php" odbierasz dane i zapisujesz je do bazy danych
Go to the top of the page
+Quote Post
roman
post 27.06.2006, 21:15:53
Post #4





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.07.2004

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


Dzięki Panowie za doychczasową pomoc.
Teraz plik wypisz.php wygląda tak:

Kod
<h1>podgląd wpisanych danych</h1>

<?php
    print("<p>Firma: <b>$Firma</b>");
    print("<p>Miejscowosc: <b>$Miejscowosc</b>");
    print("<p>E-mail: <b>$Email</b>");
    print("<p>www: <b>$www</b>");

   echo'
   <form action="zapisz.php" method="post">
   <input type="hidden" name="firma" value="'.$Firma.'">
   <input type="hidden" name="firma" value="'.$Miejscowosc.'">
   <input type="hidden" name="firma" value="'.$Email.'">
   <input type="hidden" name="firma" value="'.$www.'">
   ';
?>

<p><input name="popraw" TYPE="button" VALUE="Popraw" onClick="history.go(-1)" /> <input type="submit" name="Submit" value="Zapisz" />


natomiast zapisz.php

Kod
<?php
$db = mysql_connect("localhost", "root", "abcxyz");
mysql_select_db("katalog", $db);

$sql = "INSERT INTO katal (Firma,Miejscowosc,Email,www) VALUES ('".$_POST['Firma']."','".$_POST['Miejscowosc']."','".$_POST['Email']."','".$_POST['www']."');";

mysql_query($sql);
?>

<h1>dane zostały zapisane</h1>


Efekt jest taki, że do tabeli dopisuje się tylko kolejny ID dzięki autoinkrementacji a pozostałe cztery pola są puste sad.gif Zapewne źle odbieram dane w pliku zapisz.php tylko nie wiem jak to zrobić
Go to the top of the page
+Quote Post
piotrekkr
post 27.06.2006, 21:30:32
Post #5





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Kod
<form action="zapisz.php" method="post">
   <input type="hidden" name="firma" value="'.$Firma.'">
   <input type="hidden" name="firma" value="'.$Miejscowosc.'">
   <input type="hidden" name="firma" value="'.$Email.'">
   <input type="hidden" name="firma" value="'.$www.'">

dlaczego te pola maja taka sama nazwe questionmark.gif tu masz chyba blad.

poza tym :
Kod
$_POST['Firma']
to nie tyo samo co
Kod
$_POST['firma']


Ten post edytował piotrekkr 27.06.2006, 21:31:28
Go to the top of the page
+Quote Post
roman
post 28.06.2006, 10:45:39
Post #6





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.07.2004

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


serdeczne dzięki!
działa!
guitar.gif

Mam jeszcze takie pytanie czy jest jakaś możliwość ukrycia TEXTAREA questionmark.gif Teraz mam tak, że opis wyświetli mi się podwójnie: pod pozostałymi danymi oraz dodatkowo w polu TEXTAREA sad.gif Z tego co znalazłem w dokumentacjach to nie można w przypadku TEXTAREA użyć type="hidden" tak jak w INPUT mad.gif

Kod
<?php
    print("<p>Firma: <b>$Firma</b>");
    print("<br />Miejscowosc: <b>$Miejscowosc</b>");
    print("<br />E-mail: <b>$Email</b>");
    print("<br />www: <b><a href=\"http://$www\" target=\"_blank\">$www</a></b>");
    print("<br />Opis: <b>$Opis</b>");

   echo'
   <form action="zapisz.php" method="post">
   <input type="hidden" name="Firma" value="'.$Firma.'">
   <input type="hidden" name="Miejscowosc" value="'.$Miejscowosc.'">
   <input type="hidden" name="Email" value="'.$Email.'">
   <input type="hidden" name="www" value="'.$www.'">
<textarea type="hidden" name="Opis">'.$Opis.'</textarea>
   ';
?>
Go to the top of the page
+Quote Post
piotrekkr
post 28.06.2006, 12:09:03
Post #7





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


hmm chcesz poprostu ukryc zawartosc textarea dobrze zrozumialem??
  1. <?php
  2. echo '<input type="hidden" value="'.$_POST['nazwa_textarea'].'" name="nazwa_textarea" />';
  3. ?>


Ten post edytował piotrekkr 28.06.2006, 12:13:53
Go to the top of the page
+Quote Post
roman
post 28.06.2006, 12:10:49
Post #8





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.07.2004

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


tak
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:33