Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] "Samo" nadpisująca się wartość w bazie.
Geniesis
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 4.12.2013
Skąd: Śląsk

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


Witam, mam taki oto problem z którym gryzę się od wczoraj:
Wpisuje dane do formularza, później owe dane wrzucam do mySQL, problem tylko w tym, że $pesel zawsze nadpisuje się jako "2147483647" pomimo, że nigdzie w kodzie czegoś takiego nie zadeklarowałem, przed samym zapisem do bazy dałem echo $pesel i wypisuje poprawny wprowadzony (w bazie mimo to nadal zapisuje 2147483647), czy mógłby ktoś poradzić mi dlaczego tak sie dzieje, jak to rozwiązać?

formularz:
  1. <form name="f1" action="main.php?link=addchildren" method="POST" class="form-horizontal" role="form" style="padding-bottom:1em;">
  2. <div class="formDiv form-group">
  3. <label for="PESEL" class="col-sm-2">PESEL:</label>
  4. <input id="check" type="text" for="PESEL" name="pesel" pattern="^[[0-9]{11}$" required />
  5. </div>
  6. <div class="formDiv form-group">
  7. <label for="firstName" class="col-sm-2">Imie:</label>
  8. <input type="text" name="firstName" pattern="^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{3,14}$" required />
  9. </div>
  10. <div class="formDiv form-group">
  11. <label for="surName" class="col-sm-2">Nazwisko:</label>
  12. <input type="text" name="surName" pattern="^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{3,14}$" required />
  13. </div>
  14. <div class="formDiv form-group">
  15. <label for="birth" class="col-sm-2">Data urodzenia:</label>
  16. <input type="text" name="birth" placeholder="dzien-miesiac-rok" pattern="^([1-2][0-9]|[3][0-1]|[0]?[1-9])-([0]?[1-9]|[1][0-2])-([1][9][8-9][0-9]|[2][0][0][0-9])$" required />
  17. </div>
  18. <div class="formDiv form-group" >
  19. <label for="momName" class="col-sm-2">Imię matki:</label>
  20. <input type="text" name="momName" pattern="^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ ]{3,14}$" required />
  21. </div>
  22. <div class="formDiv form-group">
  23. <label for="dadName" class="col-sm-2">Imię ojca: </label>
  24. <input type="text" name="dadName" pattern="^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{3,14}$" required />
  25. </div>
  26. <div class="formDiv form-group">
  27. <label for="place" class="col-sm-2">Miejscowość:</label>
  28. <input type="text" name="place" pattern="^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{3,14}$" required />
  29. </div>
  30. <div class="formDiv form-group">
  31. <label for="houseNr" class="col-sm-2">Numer domu:</label>
  32. <input type="text" name="houseNr" pattern="^([0-9]{1,4}|[0]?[1-9])$" required />
  33. </div>
  34. <div class="formDiv form-group">
  35. <label for="flatNr " class="col-sm-2">Numer mieszkania:</label>
  36. <input type="text" name="flatNr" pattern="^[0-9]{1,4}$" required placeholder="W razie braku - 0" />
  37. </div>
  38. <div class="formDiv form-group">
  39. <label for="POSTCode" class="col-sm-2">Kod pocztowy:</label>
  40. <input type="text" name="POSTCode" placeholder="XX-XXX" pattern="^[0-9]{2}-[0-9]{3}$" required />
  41. </div>
  42. <div class="formDiv form-group">
  43. <label for="phone" class="col-sm-2">Nr telefonu rodzica:</label>
  44. <input type="tel" name="phone" required />
  45. </div>
  46. <div class="formDiv form-group">
  47. <label for="email" class="col-sm-2">E-mail rodzica:</label>
  48. <input type="email" name="email" placeholder="np. text@text.pl" required />
  49. </div>
  50. <div class="formDiv form-group">
  51. <label for="password" class="col-sm-2">Specjalne Hasło:</label> <!-- 123-->
  52. <input type="password" name="password" required />
  53. </div>
  54. <button id="sub" class="btn btn-primary" name = "submit">Zatwierdź</button>
  55. </form>

Łączenie z bazą
connectionSQL.php:
  1. <?php
  2. function connection(){
  3. $host = "localhost";
  4. $user = "root";
  5. $pass = "haslo";
  6. $db = "test";
  7. function execute_query($query) {
  8. $r=mysql_query($query);
  9. if (!$r) {
  10. echo "Cannot execute query: $query <br /> ";
  11. }
  12. }
  13. $connect=mysql_connect($host, $user, $pass) or die("Could not connect to server");
  14. mysql_select_db($db) or die ('Cannot select database');
  15. //mysql_query("SET NAMES 'utf8'");
  16. }
  17. ?>

Plik przetwarzania i zapisu danych:
functions_addchildren.php
  1. function add(){
  2. include 'includes/connectionSQL.php';
  3. if (!isset($_SESSION['ID'])){ $_SESSION['ID']=2;}
  4. $dataClass=$_SESSION['ID'];
  5. connection();
  6. ///$query = "DROP TABLE IF EXISTS Uczen";
  7. //execute_query($query);
  8. $sql = "CREATE DATABASE IF NOT EXISTS db";
  9. if (mysql_query($sql)) {
  10. mysql_query("CREATE TABLE Klasa_$dataClass(id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, pesel INT(11), Imie VARCHAR(15), Nazwisko VARCHAR(15), Klasa INT(1),
  11. Data_Urodzenia VARCHAR(8), Imie_Matki VARCHAR(15), Imie_Ojca VARCHAR(15), Miejscowosc VARCHAR(20), Numer_Domu INT(4), Numer_Mieszkania INT(2),
  12. Kod_Pocztowy VARCHAR(6), Numer_Telefonu INT(20), Email TEXT(30)) ENGINE = InnoDB;");
  13. }
  14. else{echo 'istnieje';}
  15. $pesel = $_POST['pesel'];
  16. $firstName=strtolower($_POST['firstName']);
  17. $firstName=ucfirst($firstName);
  18. $surName=strtolower($_POST['surName']);
  19. $birth=$_POST['birth'];
  20. $surName=ucfirst($surName);
  21. $momName=strtolower($_POST['momName']);
  22. $momName=ucfirst($momName);
  23. $dadName=strtolower($_POST['dadName']);
  24. $dadName=ucfirst($dadName);
  25. $place=strtolower($_POST['place']);
  26. $place=ucfirst($place);
  27. $houseNr=$_POST['houseNr'];
  28. $flatNr=$_POST['flatNr'];
  29. $POSTCode=$_POST['POSTCode'];
  30. $phone=$_POST['phone'];
  31. $email=$_POST['email'];
  32. echo $pesel;
  33. mysql_query("INSERT INTO Klasa_$dataClass VALUES('', '$pesel','$firstName','$surName', '$dataClass','$birth','$momName', '$dadName', '$place', '$houseNr', '$flatNr','$POSTCode', '$phone', '$email')");
  34. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ustaw pesel jako CHAR a nie INT.....2147483647 to najwieksza liczba dla typu INT a ty dajesz wiekszą wiec baza ustawia max jaki moze ustawic

Od biedy mozesz dac BIGINT


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Geniesis
post
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 4.12.2013
Skąd: Śląsk

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


Bym chyba lacie wcześniej zjadł niż na to wpadł...
Dziękuję Ci serdecznie za poradę wink.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 Aktualny czas: 19.08.2025 - 05:20