Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MYSQL]Wysłanie danych z Select i input
Adis92
post
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 12
Dołączył: 9.01.2009
Skąd: Płock

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


Mam taki problem. Nie wiem jak zrobić aby wysyłało do bazy danych pole wybrane z select. Ze zwykłego input wysyła ale właśnie nie wiem jak z select. I jeszcze mam problem że pisze że wysało wiadomość ale do bazy nie dodaje emaila.
Kod select:
  1. <select name="sprawa" tabindex="6">
  2. <option value="debug">Szablon
  3. <option value="admin">Błąd
  4. <option value="admin">Inna

tutaj na imput email:
  1. <input type="text" name="email" tabindex="3" value="" title="Email"/>

a tutaj skrypt wysyłający:
  1. <?php
  2. $imie = $_POST['imie'];
  3.    $nazwisko = $_POST['nazwisko'];
  4.    $email = $_POST['email'];
  5.    $gg = $_POST['gg'];
  6.    $telefon = $_POST['telefon'];
  7.    $wiadomosc = $_POST['wiadomosc'];
  8.    $data = date(&#092;"Y-m-d\");
  9.    $godz = time(&#092;"H:m:s\");
  10.    $pass = $_POST['pass'];
  11.    
  12.     function passcheck($pass) {
  13.       $nr = floor(time() / 3600);
  14.       for($i = 0; $i < strlen($pass); $i++)
  15.         if($i % 2 == 0) $a .= $pass[$i]; else $b .= $pass[$i];
  16.       $a = base_convert(strrev($a), 36, 10);
  17.       $b = base_convert($b, 36, 10);
  18.       if($a + $b <= $nr && $a + $b >= $nr - 2) return true;
  19.       return false;
  20.    }    
  21.    if(passcheck($pass) == true){
  22.  
  23.    
  24.      if($imie and $nazwisko and $email and $gg and $telefon and $wiadomosc) {
  25.    
  26.          $connection = mysql_connect('host', 'user', 'password')
  27.          or die('Brak połączenia z serverem MySQL');
  28.          $db = mysql_select_db('baza', $connection)
  29.          or die('Nie mogę połączyć się z bazą danych');
  30.        
  31.          $ins = mysql_query(&#092;"INSERT INTO tabela SET imie='$imie', nazwisko='$nazwisko', email='$emial', gg='$gg', telefon='$telefon', wiadomosc='$wiadomosc', datawyslania='$data', godz='$godz' \") or die(\"MySQL ERROR: \".mysql_error());
  32.        
  33.          if($ins) echo &#092;"Wiadomosć wysłano poprawnie\";
  34.  
  35.          else echo &#092;"Błąd! Nie udało się wysłać wiadomosci\";
  36.        
  37.          mysql_close($connection);
  38.      } else echo &#092;"Uzupełnij wszystkie pola\";
  39.      
  40.    }else echo &#092;"Kod z obrazka jest nie poprawny !!!\";
  41. ?>

A tutaj kod na baze:
  1. CREATE TABLE kontakt (
  2. id INT NOT NULL AUTO_INCREMENT,
  3. imie VARCHAR(25) NOT NULL DEFAULT '',
  4. nazwisko VARCHAR(25) NOT NULL DEFAULT '',
  5. email VARCHAR(60) NOT NULL DEFAULT '',
  6. gg VARCHAR(10) NOT NULL DEFAULT '',
  7. telefon VARCHAR(12) NOT NULL DEFAULT '',
  8. sprawa VARCHAR(15) NOT NULL DEFAULT '',
  9. wiadomosc TEXT,
  10. datawyslania date NOT NULL DEFAULT '000.00.00',
  11. godz time NOT NULL DEFAULT '00:00:00',
  12. PRIMARY KEY ( id )
  13. );

W php i mysql jestem początkujący więc za dużo jeszcze nie wiem.

Ten post edytował Adis92 19.02.2009, 02:04:05
Go to the top of the page
+Quote Post
Rafal Filipek
post
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


dodaj sobie np
Kod
$sprawa = $_POST['sprawa'];

a potem wstawiaj sobie gdzie chcesz, bo jak teraz niby ma sie wypelnic pole sprawa w bazie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) jak w calym skrypcie nie masz nigdzie $_POST['sprawa'] (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Foxx
post
Post #3





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


1. Option w selectach powinien być zamykany, więc tak:
  1. <select name="sprawa" tabindex="6">
  2. <option value="debug">Szablon</option>
  3. <option value="admin">Błąd</option>
  4. <option value="admin">Inna</option>


2. Jeżeli chodzi o dostęp do danych z <select>, to w Twoim przypadku po wybraniu opcji "Szablon" w zmiennej
  1. <?php
  2. echo $_POST['sprawa']; // wyświetli "debug"
  3. ?>
będziesz miał "debug".
Z kolei po wybraniu Błąd lub Inna pod $_POST['sprawa'] będziesz miał "admin" w obu przypadkach.

3. E-mail się nie dodaje bo masz literówkę w zapytaniu SQL:
(...), email='$emial', (...)

4. Masz w paru miejscach & #092; - czy to nie powoduje błędów? Może to tylko kwestia wyświetlenia postu.

Ten post edytował Foxx 19.02.2009, 02:14:32
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 22:40