Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z formularzem
Forum PHP.pl > Forum > Przedszkole
sokole_oko
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. ?>
r4xz
Kod
if(isSet($_POST['abcdef123']))

  echo 'aaa';

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

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


oto chodzi?
sokole_oko
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. ?>
athei
To nie js, wywołaj w php ten sam plik
Kod
<form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
r4xz
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
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.