Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: połączenie pola textowego z kodem php
Forum PHP.pl > Forum > PHP
ozeh
Mam taki problem, a mianowicie:
Posiadam taki kod:

mysql_pconnect('host','uzytkownik','haslo');
function sprawdz_kod($baza, $tabela, $kod){
mysql_select_db($baza);
$pyt = "SELECT * FROM $tabela WHERE kod='$kod'";
$odp = mysql_query($pyt);
$r = mysql_fetch_array($odp);
if ($r[data]=='0'){
// kod jest poprawny wiec dajemy klientowi dostep do jakiejs
uslugi
dostep_do_uslugi();
// deaktywujemy uzyty kod
$pyt = "UPDATE $tabela SET data='$data' WHERE kod='$kod'";
mysql_query($pyt);
}
}


Potrzebuje dolaczyc do tego pole textowe i przypisac go do zmiennej $kod.
W calym tym skrypcie chodzi o to ze w pole textowe wpisujemy haselko a podany wyzej kod ma go sprawdzic czy jest on w bazie i jesli tak to pozwolic wejsc dalej i odznaczyc kod ze zostal juz uzyty.

Baza wyglada tak:
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| kod | varchar(8) | YES | | NULL | |
| data | bigint(15) | YES | | 0 | |
+-------+-------------+------+-----+---------+-------+


Do bazy sa juz wpisane haselka.
strife
Witam,

Powinno być chyba mysql_connect, poza tym kod jest nieczytelny użyj bbcode, wnioskuje z tego co napisałeś że chcesz wyciągnąć dane i przypisać do pola textowego czyli np.

  1. <?php
  2.  
  3. // .....
  4. $u = mysql_fetch_array($query);
  5. echo '<form>';
  6. echo '<input value=\"'.$u['kod'].'\" type=\"text\" name=\"'.$u['kod'].'\">';
  7. echo '</form>';
  8. // ......
  9.  
  10. ?>

Ale zapewne chodzi Ci o coś innego, czy dane zostały przesłane i czy hasło się zgadza, to możesz sprawdzić za pomocą $_POST albo $_GET tylko jeśli jest to hasło nie zapomnij też zchaszować... Na forum było wiele o logowaniu, poszukaj.

Pozdrawiam!
dasko
Cytat
Powinno być chyba mysql_connect

Jeśli chciał trwałe połączenie to nie smile.gif
zbig13
Ja bym to zrobił tak:
  1. <?php
  2.  
  3. mysql_pconnect('host','uzytkownik','haslo');
  4. function sprawdz_kod($baza, $tabela, $kod){
  5. $kod = $_POST['kod'];
  6. $pyt = &#092;"SELECT * FROM $tabela WHERE kod='\".$kod.\"'\";
  7. $odp = mysql_query($pyt);
  8. $r = mysql_num_rows($odp);
  9. if ($r > 0) {
  10. // Znaleziono rekord, kod jest poprawny.
  11. // Dezaktywujemy kod.
  12. $pyt = &#092;"UPDATE $tabela SET data='$data' WHERE kod='$kod'\";
  13. mysql_query($pyt);
  14. } else {
  15. // Kod nie poprawny.
  16. }
  17. }
  18.  
  19. ?>

Dodaj gdzieś w tym samym pliku jeszcze taki formularz:
Kod
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Podaj kod: <input type="text" name="kod" size="20" />
</form>
ozeh
Niestety nie dziala sad.gif
W bazie mam juz wpisane 2000 osmiocyfrowych kodow i ten kod php powinien sprawdzic w tych 2000 czy ten wpisany w formularz jest prawidlowy i jesli tak to go odznaczyc datą.


Proszę o pomoc.

Pozdrawiam
czadowy
  1. <?php
  2. $connect = @mysql_connect('host', 'uzytkownik', 'haslo');
  3. $db = @mysql_select_db('baza_danych', $connect);
  4. $sql = &#092;"SELECT kod FROM tabela WHERE kod = '$kod_podany';\";
  5. $sql_result = mysql_query($sql);
  6. $num = mysql_num_rows($sql_result);
  7.  
  8. if ($num == &#092;"0\") {
  9. echo&#092;"<P> podany kod jest nieprawidlowy </P>\";
  10. } elseif ($num >= &#092;"1\") {
  11.  
  12. echo&#092;" twoj kod jest prawidlowy\"; 
  13. $oznaczenie = &#092;"UPDATE tabela SET data = now() WHERE kod = '$kod_podany';\";
  14. $wykonanie = mysql_query($oznaczenie);
  15. }
  16. ?>


pisalem na szybko ale chyba o to ci chodzilo i powinno dzialac
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.