• 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

Object Storage Arubacloud
0 głosów
1,316 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ź 599 wizyt
0 głosów
1 odpowiedź 549 wizyt
pytanie zadane 3 grudnia 2019 w HTML i CSS przez Kolberg Obywatel (1,560 p.)
0 głosów
2 odpowiedzi 436 wizyt
pytanie zadane 1 maja 2019 w PHP przez Webmaster123 Początkujący (440 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 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!

...