Κάτι παίζει με το script μου..

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
GiorgosQ32
Δημοσιεύσεις: 2
Εγγραφή: 13 Ιουν 2015 17:52

Κάτι παίζει με το script μου..

Δημοσίευση από GiorgosQ32 » 13 Ιουν 2015 18:01

Γεια σας παιδιά είμαι καινούριος εδώ μέσα και χρειάζομαι μια μικρή βοήθεια..
Έχω αυτό το script:

Κώδικας: Επιλογή όλων

<?php

	include&#40;"save_data.php"&#41;;	
	include&#40;"api.php"&#41;;

	$connect = new mysqli&#40;$host,$name,$pass,$db&#41; or die&#40;"Error&#58; " . connect_error&#41;;
	
	if&#40;isset&#40;$_POST&#91;'Register'&#93;&#41;&#41;&#123;
		if&#40;$_POST&#91;'username'&#93; && $_POST&#91;'password'&#93; && $_POST&#91;'twopass'&#93;&#41;&#123;
			$username = $_POST&#91;'username'&#93;;
			$pass = $_POST&#91;'password'&#93;;
			$twopass = $_POST&#91;'twopass'&#93;;
			
			if&#40;strlen&#40;$username&#41; < 3 || strlen&#40;$username&#41; > 20&#41;&#123;
				die&#40;"Error&#58; Please Type one name with length 3-20 --> <a href = 'register.php'>Back</a>!"&#41;;
			&#125;
			else&#123;
				if&#40;$pass != $twopass&#41;&#123;
					die&#40;"Error&#58; False two password or one password! --> <a href = 'register.php'>Back</a>!"&#41;;
				&#125;
				else&#123;
					$sql = "SELECT * FROM u_data WHERE '$username'";
					$r = $connect->query&#40;$sql&#41;;
					if&#40;$r->num_rows > 0&#41;&#123;
						die&#40;"Error&#58; This username already exists in the database! --> <a href = 'register.php'>Back</a>!"&#41;;
					&#125;
					else&#123;
						$sql = "INSERT INTO u_data&#40;name,password,level,date&#41; VALUES &#40;'$username','$pass','0',".date&#40;"Y/m/d"&#41;."&#41;";
						$connect->query&#40;$sql&#41;;
						$_SESSION&#91;'u_name'&#93; = $username;
						header&#40;"Location&#58; index.php"&#41;;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;
	
	$connect->close&#40;&#41;;


?> 
Το πρόβλημα μου είναι στο εάν υπάρχει το name να μην τον αφήσει να κάνει register με το ίδιο name άλλα δεν λειτουργεί μήπως φταίει κάτι με το query που έφτιαξα?

GiorgosQ32
Δημοσιεύσεις: 2
Εγγραφή: 13 Ιουν 2015 17:52

Κάτι παίζει με το script μου..

Δημοσίευση από GiorgosQ32 » 13 Ιουν 2015 18:19

οοο χίλια συγνώμη βρήκα την λύση μετά από ένα check στο query κατάλαβα ότι δεν έβαλα name = '$username' ...

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Κάτι παίζει με το script μου..

Δημοσίευση από mrpc » 08 Αύγ 2015 01:57

Απλά, αυτή τη στιγμή ο κώδικας σου πάσχει πάρα πολύ σοβαρά από άποψη ασφάλειας, αφού εισάγεις post δεδομένα απ' ευθείας σε sql queries.
Θα σου πρότεινα να χρησιμοποιείς prepared statements, ή έστω να κάνεις escape τα requests, π.χ. δες εδώ: http://php.net/manual/en/mysqli.real-escape-string.php

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες