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

mysqli prepare php-zabezpieczenie form

Object Storage Arubacloud
0 głosów
186 wizyt
pytanie zadane 2 maja 2018 w PHP przez Damian Prymus Początkujący (380 p.)
<?php
require_once"dbconect.php";
$conn = mysqli_connect($host, $db_user, $db_password,$db_name);
$conn->set_charset("utf8");
// Check connection

if ($conn->connect_error) {
		die("Connection failed: " . $conn->connect_error);
	}


echo "Connected successfully";
if (isset($_POST['name']) && isset($_POST['surname']) && isset($_POST['gender']) && isset($_POST['city']) && isset($_POST['Dateofbirth']) && isset($_POST['street']) && isset($_POST['number'])&& isset($_POST['zipcode']) && isset($_POST['phone']) && isset($_POST['email'])&& isset($_POST['distance'])&& isset($_POST['team']) ){ 
	
$name = trim(strip_tags($_POST['name']));
$surname = trim(strip_tags($_POST['surname']));
$gender = trim(strip_tags($_POST['gender']));
$city  = trim(strip_tags($_POST['city'])); 
$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']));
$distance  = trim(strip_tags($_POST['distance']));
$team  = trim(strip_tags($_POST['team']));

}
else{
	echo 'nie isinieja';
}
if ('$distance' ==='mini'){
	echo 'dodano';
}
if ('$distance' ==='mega'){
	echo 'dodano';
}
if ('$gender' ==='women'){
	echo 'dodano';
}
if ('$gender' ==='men'){
	echo 'dodano';
}

$stmt = $conn->prepare("INSERT INTO tab (name,surname ,gender,city,Dateofbirth,street,number,zipcode,phone,email,distance,team) values (?,?,?,?,?,?,?,?,?,?,?,?)");

$stmt->bind_param("ssbsbsiiisbs",$name,$surname,$gender,$city,$Dateofbirth,$street,$number,$zipcode,$phone,$email,$distance,$team);

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

$stmt->close();
$conn->close();
?>

Witam! 

mam kolejny problem z zabezpieczeniem formularza.Chcę to zrobić za pomocą prepare i wszyst było by fajnie jak by nie wyskakiwał ten błąd:

Uncaught Error: Call to undefined method mysqli::bind_parm() , Stack trace: #0 {main} thrown 

bardzo proszę o pomoc. dziękuję :)

1 odpowiedź

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

Wszystko masz dobrze, ale przypatrz się czy nie strzeliłeś przypadkiem jakiejś literówki w linii 49 :)

Już sam PHP Ci podpowiada: Call to undefinied method - nie ma takiej metody w tym języku.
komentarz 2 maja 2018 przez MrxCI Dyskutant (8,260 p.)
bind_parm > bind_param
komentarz 2 maja 2018 przez Damian Prymus Początkujący (380 p.)

@OdsetekGlupoty,  dalej są kwiatki.w tej lini. 

komentarz 3 maja 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
W jakim sensie?
komentarz 3 maja 2018 przez Damian Prymus Początkujący (380 p.)

Mimo tego ze zmieniłem ,to nadal wyskakiwało ze nie ma takiej metody.

Zrobiłem  w ten sposób 


$stmt->bind_param("ssssssisssss",$name,$surname,$gender,$city,$Dateofbirth,$street,$number,$zipcode,$phone,$email,$distance,$team);
$stmt->execute();
if ($stmt!=TRUE){
echo"nie dodano";}
else{
echo'dodano'; }

 

komentarz 6 maja 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
Sorry, że tak późno, ale do rzeczy:

Niemożliwe, że wyskakuje Ci, że nie ma takiej metody skoro ona istnieje. Na pewno nie może pisać to samo co przedtem. Jeśli tak jest upewnij się, że poprawnie zapisałeś plik. Jeśli nie, podaj tutaj treść błędu (jeżeli jest identyczna to albo ja jestem ślepy, albo ty namieszałeś w czymś innym).
1
komentarz 6 maja 2018 przez Damian Prymus Początkujący (380 p.)

Pewnie gdzieś namieszałem  ale dlaczego działa jak zrobiłem tak jak wyzej przekopiowałem kod?.. Dobra mnieszja z tym trzymaj to co naskrobałem  przy tym kodzie  i jak narazie działa choć jeszcze nie próbowałem tego wrzucać na hosting..Tylko uwaga  na nazywy zmiennych :d

<?php
require_once"dbconect.php";
$conn = mysqli_connect($host, $db_user, $db_password,$db_name);
$conn->set_charset("utf8");
// Check connection

if ($conn->connect_error) {
		die("brak połączenia z bazą danych:". $conn->connect_error); 
	}

	if (isset($_POST['name']) && isset($_POST['surname']) && isset($_POST['gender']) && isset($_POST['city']) && isset($_POST['Dateofbirth']) && isset($_POST['street']) && isset($_POST['number'])&& isset($_POST['zipcode']) && isset($_POST['phone']) && isset($_POST['email'])&& isset($_POST['distance'])&& isset($_POST['team'])&& isset($_POST['klasyf']) ){ 
	
		$name = trim(strip_tags($_POST['name']));
		$surname = trim(strip_tags($_POST['surname']));
		$gender = trim(strip_tags($_POST['gender']));
		$city  = trim(strip_tags($_POST['city'])); 
		$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']));
		$distance  = trim(strip_tags($_POST['distance']));
		$team  = trim(strip_tags($_POST['team']));
		$klasyf  = trim(strip_tags($_POST['klasyf']));

			}
			else{
				echo 'nie isinieja';
			}
			if ('$distance' =='mini'){
				
			}
			if ('$distance' =='mega'){

			}
			if ('$gender' =='women'){
				
			}
			if ('$gender' =='men'){
				
			}if ('$klasyf' =='firemen'){
				
			}
			if ('$klasyf' =='police'){
				
			}

$stmt = $conn->prepare("INSERT INTO tab (name,surname ,gender,city,Dateofbirth,street,number,zipcode,phone,email,distance,team,klasyf) values (?,?,?,?,?,?,?,?,?,?,?,?,?)");

$stmt->bind_param("ssssssissssss",$name,$surname,$gender,$city,$Dateofbirth,$street,$number,$zipcode,$phone,$email,$distance,$team,$klasyf);
$stmt->execute();
			if ($stmt!=TRUE){
			echo"nie dodano";}
			else{
require_once"rej.html"; }//otwiera stronę z numerem konta


$stmt->close();
$conn->close();
?>

 

komentarz 9 maja 2018 przez OdsetekGlupoty Pasjonat (15,360 p.)
edycja 16 maja 2018 przez OdsetekGlupoty

Muszę przyznać, że rzadko używam mysqli, nawet bardzo rzadko i o wielu rzeczach zwyczajnie zapomniałem, ale z tego co widziałem w manualach to najpierw powinno się bindować, a potem tworzyć zmienne.

I czy treść błędu to:

Uncaught Error: Call to undefined method mysqli::bind_parm() , Stack trace: #0 {main} thrown 

Podobne pytania

+1 głos
1 odpowiedź 248 wizyt
pytanie zadane 14 października 2020 w PHP przez Akiz521 Początkujący (480 p.)
0 głosów
0 odpowiedzi 85 wizyt
pytanie zadane 18 sierpnia 2020 w PHP przez Paweł Barszcz Użytkownik (950 p.)
0 głosów
1 odpowiedź 318 wizyt
pytanie zadane 6 marca 2020 w PHP przez chin24 Nowicjusz (150 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

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

...