Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z formularzem
sokole_oko
post 28.07.2009, 08:41:01
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 6.07.2009

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


Mój problem przedstawia się mianowicie.
Mam plik pokazdane.php w którym mam wpisaną funkcje i akcje wywołującą tą funkcje, zaś funkcja ta to wywołanie formularza i odwołanie do zapisz.php.
Jak zrobić żeby nie korzystać z zapisz.php tylko wszystko umieścić w funkcji.

Kod pokazdane.php
  1. <?php
  2. if ($_GET["action"] == "nowy") {
  3.    form_zw();
  4. } else {
  5.  
  6.    $query = "SELECT id FROM tabela";
  7.    $result = mysql_query($query);
  8.    $num = mysql_numrows($result);
  9.    if ($num > 0) {
  10.        echo ' <table>
  11.      <tr>
  12.      <h1><b>Strategia ochrony gatunku zwierząt<br />Lista formularzy</b></h1>
  13.      </tr>
  14.      <tr>
  15.      <td><b>Id </b></td>
  16.      </tr> ';
  17.        while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  18.            echo ' <tr>
  19.                  <td> ' . $row['id'] . ' </td>
  20.                  </tr> ';
  21.        }
  22.        echo '</table>';
  23.        mysql_free_result($result);
  24.    } else {
  25.        echo '<p class="error"> Brak danych.</p>';
  26.    }
  27. }
  28. function form_zw(){
  29.    echo'<form action="zapisz_.php" method="post">
  30. <table>
  31.  
  32. </table>
  33.  
  34. <table>
  35. <tr>
  36. <td>
  37. <input type="submit" value="Zapisz" name="submit"/>
  38. </td>
  39. </tr>
  40. </table>
  41.  
  42. </form>';
  43. }
  44. ?>


kod zapisz.php
  1. <?php
  2. $imie = $_POST['imie'];
  3. $nazwisko = $_POST['nazwisko'];
  4. $dostep = $_POST['dostep'];
  5. $login = $_POST['login'];
  6. $haslo = $_POST['haslo'];
  7. $haslo2 = $_POST['haslo2'];
  8. $email = $_POST['email'];
  9.  
  10.    if ($_POST){
  11.        if(!empty($imie) AND!empty($nazwisko) AND !empty($login) AND !empty($haslo) AND !empty($haslo2) AND !empty($email)){
  12.            if($haslo != $haslo2){
  13.                $info .=  'rózne hasła<br />';
  14.            }else{
  15.                if(!ereg("^.+@.+..+$", $email)){
  16.                    $info .=  'niepoprawny adres e-mail<br />';
  17.                }else{
  18.                    include("environment.inc.php");
  19.                    $query = "SELECT Login FROM user WHERE Login='$login'";
  20.                    $wynik = mysql_query($query);
  21.                    if(@mysql_num_rows($wynik) > 0){
  22.                        $info .=  "wybrana nazwa użytkownika($login) jest juz zajeta<br />";
  23.                    }else{
  24.                        $query = "INSERT INTO user (imie,nazwisko,login,haslo,dostep) VALUES ('$imie','$nazwisko','$login',md5('$haslo2'),'$dostep')";
  25.                        mysql_query($query);
  26.                        $info .=  'rejestracja zakonczyła sie sukcesem<br /><a href="index.php">zaloguj</a>';
  27.                    }
  28.                }
  29.            }
  30.        }else{
  31.            $info .= 'uzupełnij wszystkie pola<br />';
  32.        }
  33.    }
  34. ?>
Go to the top of the page
+Quote Post
r4xz
post 28.07.2009, 08:58:19
Post #2





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


Kod
if(isSet($_POST['abcdef123']))

  echo 'aaa';

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

<input type="submit" name="abcdef123">


oto chodzi?


--------------------
Go to the top of the page
+Quote Post
sokole_oko
post 28.07.2009, 09:15:00
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 6.07.2009

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


Chodzi o to żeby formularz wywołał funkcje która powstanie z kodu zapisz.php w pliku pokazdane.php

Czyli coś takiego
  1. <?php
  2. <form action="zapisz()" method="post">
  3.  
  4. <input type="submit" name="dodaj">
  5. ?>
Go to the top of the page
+Quote Post
athei
post 28.07.2009, 09:44:46
Post #4





Grupa: Zarejestrowani
Postów: 389
Pomógł: 141
Dołączył: 11.04.2009

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


To nie js, wywołaj w php ten sam plik
Kod
<form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
Go to the top of the page
+Quote Post
r4xz
post 28.07.2009, 09:45:18
Post #5





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

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


no to możesz zrobić tak jak napisałem, albo na końcu zapisz.php dodać include() i ten formularz tam wepchnąć (http://pl.php.net/htmlspecialchars - bezpieczeństwo przy formularzach przede wszystkim)  rolleyes.gif


--------------------
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: 15.06.2025 - 11:02