Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP MYSQL]Dlaczego ten skrypt dodaje mi tylko ID(auto increment) w bazie
Forum PHP.pl > Forum > Przedszkole
walldeck
Witam

Skrypt dodaje tyle incrementacje zdefiniowana w bazie, nie dodaje pól tekstowych oraz nie przypisuje osoby wybranej z listy rozwijanej SELECT.
Może ktoś mnie nakierować na błąd?

FORMULARZ przez ktory wysyłam:
  1. <?php
  2. include("function.php");
  3.  
  4. $query = "SELECT * FROM osoby";
  5. $result = mysql_query($query)
  6. or die ("Niepoprawne zapytanie: " .mysql_error());
  7. while ($row = mysql_fetch_array($result))
  8. {
  9. $osoby[$row['id_osoby']] = $row['nazwisko'];
  10. }
  11. ?>
  12. <html>
  13. <head>
  14. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  15. <title>Dodawanie zakupów</title>
  16. <style type="text/css">
  17. TD{color:#353535;font-family:veranda}
  18. TH{color:#FFFFFF;font-family:veranda;background-color:#336699}
  19. </style>
  20. </head>
  21. <body>
  22. <form action = "add_pr2.php" method = "post">
  23. <table border="0" cellpadding="0" cellspacing="5" wudth="100%">
  24. <tr>
  25. <td bgcolor="#FFFFFF">Klient</td>
  26. <td bgcolor="#FFFFFF">
  27. <select name="nazwisko">
  28. <option value="" selected>Wybierz klienta...</option>
  29. <?php
  30. foreach ($osoby as $id_osoby => $nazwisko)
  31. {
  32. ?>
  33. <option value="<?php echo $id_osoby; ?>" >
  34. <?php
  35. echo $nazwisko; ?></option>
  36. <?php
  37. }
  38. ?>
  39.  
  40. </select>
  41. </td>
  42. </tr>
  43. <tr>
  44.    <td>
  45.        Data zakupu :
  46.    </td>
  47.    <td>  
  48.    <input type = "text" name = "data_zakupu" maxlength="20" size = "10"><br />
  49.    </td>
  50.    </tr>
  51. <tr>
  52.    <td>
  53.        Kwota zakupu :
  54.    </td>
  55.    <td>    
  56.    <input type = "text" name = "kwota" maxlength="20" size = "10"><br />
  57.    </td>
  58.    </tr>
  59. <tr>
  60.    <td>
  61.        Opis produktu :
  62.    </td>
  63.    <td>    
  64.    <input type = "text" name = "opis_zakupu" maxlength="60" size = "10"><br />
  65.    </td>
  66.    </tr>
  67.  
  68.    </table>
  69.  
  70.  
  71.  
  72.   <input type = "submit" value = "Dodaj">
  73. </form>


A tutaj odbieram:

  1. <?php
  2. include("function.php");
  3. $data_zakupu=htmlspecialchars($_post['data_zakupu']);
  4. $kwota=htmlspecialchars($_post['kwota']);
  5. $opis_zakupu=htmlspecialchars($_post['opis_zakupu']);
  6.  
  7. if(!empty($data_zakupu) && ($kwota) && ($opis_zakupu)){
  8. echo "Musisz wypelnic wszytkie pola";}
  9. else {
  10. $ins = mysql_query("insert into zakupy (data_zakupu,kwota,opis_zakupu)values('$data_zakupu','$kwota','$opis_zakupu')");    
  11. if($ins) echo "rekord zostal dodany poprawnie";
  12.    else echo "blad nie udalo sie dodac nowego rekordu";
  13.    echo mysql_errno() . ": " . mysql_error() . "\n";
  14.  
  15. }
  16.  
  17.  
  18. ?>


A generalnie to dążę do czegoś takiego aby wybrac tylko z listy osobe z innej tableli(osoby) i powiazac ja z zakupami które wpisuje tutaj z palca w formie textowej i zapis ich do bazy (zakupy).

Dzięki
erix
Kod
$data_zakupu=htmlspecialchars($_post['data_zakupu']);

A wiesz, że PHP rozróżnia wielkość znaków w nazwach zmiennych? snitch.gif
walldeck
Tzn że co tam powinno być bo nie pojmuję?snitch.gif
erix
http://pl.php.net/reserved.variables
walldeck
Ok już kumam. Sorry nie załapałem przez moment. Lecz teraz wywala mnie w miejsce IFa gdzie mam komunikat "że muszę wypełnić wszystkie pola" pomimo iż są wypełnione.
erix
A co masz w $_POST?

Sprawdź przy pomocy var_dump" title="Zobacz w manualu PHP" target="_manual, co Ci zwraca każdy z warunków w if" title="Zobacz w manualu PHP" target="_manualoe.
walldeck
Var_dump zwraca poprawne , takie same jak być powinny wartości. Wydaje mi sie że to coś z ta konstrukcją IFa ponieważ jak wyrzuce ten print z tym komunikatem wszytko jest ok.

  1. <?php
  2. include("function.php");
  3. $data_zakupu=htmlspecialchars($_POST['data_zakupu']);
  4. $kwota=htmlspecialchars($_POST['kwota']);
  5. $opis_zakupu=htmlspecialchars($_POST['opis_zakupu']);
  6. $id_osoby=htmlspecialchars($_POST['id_osoby']);
  7.  
  8. if(!empty($data_zakupu) && ($kwota) && ($opis_zakupu) && ($id_osoby))
  9. {
  10. echo "Musisz wypelnic wszytkie pola";
  11. }
  12. else
  13.    {
  14. $ins = mysql_query("insert into zakupy (data_zakupu,kwota,opis_zakupu,id_osoby)values('$data_zakupu','$kwota','$opis_zakupu','$id_osoby')");    
  15. if($ins) echo "rekord zostal dodany poprawnie";
  16.    else echo "blad nie udalo sie dodac nowego rekordu";
  17.    echo mysql_errno() . ": " . mysql_error() . "\n";
  18.  
  19.    }
  20.  
  21.  
  22. ?>
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.