Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie rekordów przez formularz
TheShadooow
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.10.2014

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


Witam, mam pytanko czy potrafiłby ktoś mi pomóc z tym, że chciałbym aby na stronie był formularz z 2 opcjami do wypełnienia "Temat" "Treść"
I przycisk wyślij, lecz główny problem tkwi w tym, że nie wiem jak zrobić tak, aby to co zostało wpisane do tego formularza dodawało się do bazy mySQL w odpowiednich kolumnach... Jeżeli wiedziałby ktoś jak to zrobić byłbym wdzięczy. Dodam że czytałem wiele poradników i niby działało, ale nie dodawało mi nic do bazy :/
[hr]
Napisałem coś takiego:

Kod
<?php
// Sprawdzamy czy do pliku index.php przesłane zostały dane odpowiada za to funkcja empty która sprawdza czy w zmiennej $_POST['temat'] sa jakieś dane
// Poniższa linia oznacza: jeżeli zmienna $_POST['temat'] i $_POST['tresc'] są puste wykonaj działanie
if(empty($_POST['temat'])&&empty($_POST['tresc'])){
// jeżeli do liku nie przesłane zostały żadne dane wyświetlamy formularz
?>
<form action="test.php" method="post">
Imie: <input type="text" value="" name="temat" /><br />
Nazwisko <textarea name="tresc"></textarea><br />
<input type="submit" value="Wyslij" />
</form>
<?php
// Jeżeli dane z formularza zostaną wysłane wykona się kod zawarty w klamrach warunku else
}else{
function lacz_bd()
{  
  $db = new mysqli('mysql-fr1.ServerProject.pl', 'user', 'haslo', 'db_7456');  
    if (! $db)
      return false;
   $db->autocommit(TRUE);
   return $db;
}
$temat = $_POST['temat'];
$temat = addslashes($temat); // zawsze pamiętajmy aby dane były parsowane. Funkcja addslashes dodaje znak przed cudzysłowami dzięki temu nie musimy się obawiać ze zmienna zaszkodzi naszej bazie.
$tresc = $_POST['tresc'];
$tresc = addslashes($tresc);
//połączenie z bazą
$db = lacz_bd();
//zapytanie dodające zmienne $tytul i $tresc do bazy
$zapytanie = "insert into BugTracker (Tytul, Opis) values ('$temat', '$tresc')";
// wykonanie dodawania do bazy
$wynik = $db->query($zapytanie);
        //sprawdzenie czy powiodło się dodawanie
        if($wynik)      echo 'Dodano nowy rekord';
        else            echo 'Błąd podczas dodawania';
}
?>


Ale nie dodaje nic do bazy :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mrc
post
Post #2





Grupa: Zarejestrowani
Postów: 160
Pomógł: 27
Dołączył: 22.09.2008
Skąd: Tarnów

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


Sprawdź, czy jest to wina bazy danych - jest od tego pole w obiekcie MySQLi ($mysqli->error).


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





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 23.10.2014

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


Cytat(mrc @ 26.10.2014, 10:41:40 ) *
Sprawdź, czy jest to wina bazy danych - jest od tego pole w obiekcie MySQLi ($mysqli->error).


Przepraszam, ale jestem początkujący i do końca nie wiem co mam zrobić :/
Go to the top of the page
+Quote Post
mrc
post
Post #4





Grupa: Zarejestrowani
Postów: 160
Pomógł: 27
Dołączył: 22.09.2008
Skąd: Tarnów

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


  1. if($wynik) echo 'Dodano nowy rekord';
  2. else echo $mysqli->error;


--------------------
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 - 13:45