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

input type radio- dodawanie do bazy danych w jezyku php

VPS Starter Arubacloud
0 głosów
1,415 wizyt
pytanie zadane 1 maja 2018 w PHP przez Damian Prymus Początkujący (380 p.)

Chciałbym dodać płeć do bazy danych i nie mam pojęcia jak to napisać. Wydaje mi się ze to trzeba zrobić ifem. 

i przy okazji  czy ten kod jest w miarę bezpieczny?

<?php
require_once"dbconect.php";
$conn = mysqli_connect($host, $db_user, $db_password,$db_name);

// Check connection
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
if (isset($_POST['name']) && isset($_POST['surname']) && isset($_POST['city']) && isset($_POST['Dateofbirth']) && isset($_POST['street']) && isset($_POST['number'])&& isset($_POST['zipcode']) && isset($_POST['phone']) && isset($_POST['email'])  ){ 
	
$name = trim(strip_tags($_POST['name']));
$surname = trim(strip_tags($_POST['surname']));
$city  = trim(strip_tags($_POST['city']));
$sex  = trim(strip_tags($_POST['sex'])); 
$Dateofbirth  = trim(strip_tags($_POST['Dateofbirth']));
$street  = trim(strip_tags($_POST['street']));
$number  = trim(strip_tags($_POST['number']));
$zipcode  = trim(strip_tags($_POST['zipcode']));
$phone  = trim(strip_tags($_POST['phone']));
$email  = trim(strip_tags($_POST['email']));
}
else{
	echo 'nie isinieja';
}
$sql = "INSERT INTO tab (name,surname,city,Dateofbirth,street,number,zipcode,phone,email) values ('$name','$surname','$city','$Dateofbirth','$street','$number','$zipcode','$phone','$email')";


if ($conn->multi_query($sql) === TRUE) {
    echo "New records created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

mysqli_close($conn);
?>

Oto mój kod 
Bardzo dziękuję za każda radę :) 

1 odpowiedź

0 głosów
odpowiedź 1 maja 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
edycja 1 maja 2018 przez OdsetekGlupoty

Witam,

Aby sprawdzić co użytkownik wybrał w inputach typu radio, należy temu inputowi ustawić wartość (value), a następnie ifem w PHP sprawdzić co zostało wybrane. Będzie to wyglądało mniej więcej tak:

<form action="" method="post">
    <input type="radio" name="gender" value="man" /> 
    <input type="radio" name="gender" value="woman" />
    <input type="submit" value="Wyślij" />
</form>

<?php
if ($_POST) {
    if ($_POST['gender'] == 'man') {
        //Wybrano mężczyznę
    } 
    if ($_POST['gender'] == 'woman') {
        //Wybrano kobietę
    } 
}

 

Czy kod jest bezpieczny? NIE! Nie jest w pełni odporny na SQL Injection. Pierwsza lepsza osoba, która umie wykonywać ten atak jest w stanie zaatakować. Powinieneś użyć prepare. Polecam poczytać trochę o zabezpieczeniach, które możesz użyć by zapobiec atakowi na stronę internetową.

komentarz 1 maja 2018 przez Damian Prymus Początkujący (380 p.)
Dziękuję, nie wiedziałem jak to zapisać., jak myśl przełżyć na kod :D.. Tak samo  się robi jakk bede chciał zrobić to za pomocą  selecta?..

Dobrze, ale  trim i strip_tag nic  nie da?... i jeszcze ostanio czytałem o Zmienej $ _SERVER ["PHP_SELF"]  tylko ze chyba nie czaje  działania... Kod php musiałbym umiescić w tym pliku co mam formularz i   wysłać to do bazy danych tak?. Czyli kiedy będzie fomularz wysyłany  musialbym otworzyć połączenie i połaczyć się z baza danych i zapytaniem wyslać na baze tak?..  i kiedy by się to wysłało wyswietli tekst np numer konta i tak dalej?...
komentarz 1 maja 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)

1. Trim i strip_tag to nie jest idealne przeciwdziałanie atakom SQL Injection. Czy coś daje? Oczywiście, COŚ daje, ale te coś nie zabezpieczy Twojej witryny na dłuższą metę.

2. Czego nie czaisz w tej zmiennej. Po prostu pokazuje na jakiej podstronie znajduje się aktualnie użytkownik. Spróbuj wyświetlić tą zmienną echem i zobaczysz sam.

3. Kod PHP możesz umieścić w jakim pliku chcesz, tylko w tagu <form>, w atrybucie action musiałbyś ten plik określić. Najlepiej jest zrobić coś takiego, że atrybut action zostawiasz pusty (kod PHP wykona się w tym samym pliku co formularz), ale całe sprawdzanie poprawności formularza będzie odbywało się za pośrednictwem innego pliku. Wiem, może wydawać się to skomplikowane. Ale zobacz na przykładzie jak powinien wyglądać Twój kod PHP na stronie z formularzem:

<?php
    if ($_POST) require 'signin.php';
?>

//HTML (formularze i zawartość strony) 

Tak. Powinno się oddzielać kod HTML od kodu PHP. Dlatego całe sprawdzanie czy użytkownik podał poprawne dane, łączenie z bazą itd. będzie odbywało się w signin.php.

Jedna bardzo ważna rzecz:

Użytkownik nie zostanie przekierowany na stronę signin.php. Po prostu wykona się kod w tym pliku, a użytkownik cały czas będzie na jednej stronie (tej z formularzem). 

 

 

komentarz 2 maja 2018 przez Damian Prymus Początkujący (380 p.)
3. Już wszystko mi się rozjaśniło. Na w3 tak jasno nie było wytłumaczone. Ślicznie podziękował. Mi się coś ubzdurało ze nie można  pociągną zewnętrznego pliku . Na w3 było pokazane ze jest w pliku gdzie znajduje się html i  to mi zamotało w głowie...

Podobne pytania

+1 głos
1 odpowiedź 718 wizyt
0 głosów
1 odpowiedź 659 wizyt
pytanie zadane 3 grudnia 2019 w HTML i CSS przez Kolberg Obywatel (1,560 p.)
0 głosów
2 odpowiedzi 467 wizyt
pytanie zadane 1 maja 2019 w PHP przez Webmaster123 Początkujący (440 p.)

93,012 zapytań

141,977 odpowiedzi

321,266 komentarzy

62,354 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...