Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie rekordów przez formularz
Forum PHP.pl > Forum > Przedszkole
TheShadooow
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 :/
mrc
Sprawdź, czy jest to wina bazy danych - jest od tego pole w obiekcie MySQLi ($mysqli->error).
TheShadooow
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ć :/
mrc
  1. if($wynik) echo 'Dodano nowy rekord';
  2. else echo $mysqli->error;
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.