• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Nie pobiera danych z formularza i nie wpisuje do tabeli

Object Storage Arubacloud
0 głosów
203 wizyt
pytanie zadane 9 lutego 2016 w PHP przez Kewin Sikorski Nowicjusz (140 p.)
zamknięte 10 lutego 2016 przez Kewin Sikorski

Link: http://www38.zippyshare.com/v/jfO2uVF0/file.html

A więc problem polega na tym, że gdy wpisuję dane do formularza i wysyłam je aby dodały się do tabeli (formularz dotyczy użytkownika forum) to wywala błąd i nie dodaje go. Tak samo dzieje się gdy wpisuje id użytkownika i klikam usuń, wywala błąd i nie usuwa go z bazy.

Instrukcja:

1. rar wypakować do htdocs w xampp'ie

2. wejść przez localhost/php-problem/index.html

I kliknijcie żeby stworzyło bazę a później spróbujcie dodać użytkownika, wtedy wywali błąd. I właśnie nie mogę tego rozgryźć.

Z góry dzięki za pomoc :)

komentarz zamknięcia: Problem rozwiązany

1 odpowiedź

+1 głos
odpowiedź 9 lutego 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)

Wygodniej by było jakbyś kod wrzucał gdzieś tak, aby nie trzeba było go pobierać, ale okej pofatygowałem się.

I aż nie wiem od czego zacząć...

  • dane do połączenia z bazą są osobno w każdym pliku i po kilka razy - naprawdę niesamowicie wygodne gdy trzeba je zmienić (tak, musiałem wpisać swojego użytkownika i hasło)
  • po co kilka razy łączyć się z bazą w jednym pliku?
  • style w każdym pliku? To samo co z danymi do bazy, jak będziesz chciał poprawić np. kolor tła to będziesz musiał zmieniać we wszystkich plikach, a wystarczyło zrobić jeden plik CSS i podczepiać go do wszystkich podstron
  • gdzie jest DOCTYPE?
  • próbuję dodać tego użytkownika i formularz nie działa... Patrzę a tam submit poza formularzem
  • finalnie po poprawieniu tego użytkownik się dodaje, tyle że zawsze jest to jakiś "Jan Kowalski" bo masz tak na sztywno wpisane w zapytaniu. Jak więc ma pobrać cokolwiek z formularza?

Z grubsza to by było na tyle co mi się bardzo rzuciło po oczach. Dodam jeszcze na koniec, że mieszanie kodu HTML i PHP jest słabym rozwiązaniem, lepiej skorzystać z jakiegoś systemu szablonów - np. Twig.

komentarz 10 lutego 2016 przez Kewin Sikorski Nowicjusz (140 p.)

No dobra wiem o co Ci chodzi, więc skrócę to, czyli chodzi mi o to żeby pobierał z formularza dane i wpisywał je do tabeli i tyle chcę wiedzieć, ale nie wiem jak to zrobić.

$sql="INSERT INTO `user` (`id`,`login`,`imie`,`nazwisko`,`email`,`plec`,`miejsce_zamieszkania`,`panstwo`)

VALUES ($_POST[''],$_POST['login'],$_POST['imie'],$_POST['nazwisko'],$_POST['email'], $_POST['plec'], $_POST['miejsce_zamieszkania'], $_POST['panstwo'])";

A w formularzu mam metodę POST, więc jak to inaczej napisać, żeby działało.

Formularz:

    <form action="dodanieusera.php" method="post">
        Login: <input type="text" name="login"><br />
        Imie: <input type="text" name="imie"><br />
        Nazwisko: <input type="text" name="nazwisko"><br />
        Email: <input type="text" name="email"><br />
        Płeć: <select name="select-list" width="60">
        <option name="plec" value='mezczyzna'>Mężczyzna</option>
        <option name="plec" value='kobieta'>Kobieta </option>    
        </select><br />
        Miejsce zamieszkania: <input type="text" name="miejsce_zamieszkania"><br />
        Państwo: <input type="text" name="panstwo"><br />    
        <input type="submit" name="submit" value="Wyślij zgłoszenie">
        </form>

Skrypt dodawania:

<?php
$servername="localhost";
$username="root";
$password="";
$dbname="KewinSikorski";
$conn=new mysqli ($servername,$username,$password,$dbname);

if ($conn->connect_error){
    die ("Polaczenie nieudane:" .$conn->connect_error);
}
$sql="INSERT INTO `user` (`id`,`login`,`imie`,`nazwisko`,`email`,`plec`,`miejsce_zamieszkania`,`panstwo`) VALUES ("$_POST[''],$_POST['login'],$_POST['imie'],$_POST['nazwisko'],$_POST['email'], $_POST['plec'], $_POST['miejsce_zamieszkania'], $_POST['panstwo']")";

if ($conn->query($sql)===TRUE){
    echo "<b>Nowy uzytkownik zostal dodany</b><br />";
}else{
    echo "Blad:" . $sql . "<br />" . $conn->error;
}

$wynik=$conn->query($sql);

    $conn->close();
?>

Tak tak jest znowu połączenie, ale raczej może zostać, nie wiem w czym tkwi problem.

komentarz 10 lutego 2016 przez Kewin Sikorski Nowicjusz (140 p.)
Dobra rozgryzłem to już. Dzięki za uwagi.

Podobne pytania

0 głosów
1 odpowiedź 3,382 wizyt
pytanie zadane 22 lipca 2016 w PHP przez Koncha Bywalec (2,860 p.)
0 głosów
0 odpowiedzi 70 wizyt

92,621 zapytań

141,477 odpowiedzi

319,817 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...