2016-03-26 17 views
0

PHP'ye yeni başlıyorum ve hemen hemen hiç SLIM çerçevesi bilgisi yok. SLIM projesinin bir .php dosyasında aşağıda gösterildiği gibi bir ekleme sorgusu eklemeliyim.SLIM .php dosyalarının içine düz PHP kodu yazabilmeniz mümkün.php dosyaları

$username = "myuser"; 
$password = "mypw"; 
$hostname = "localhost"; 

$date = date("Y/m/d H:i:s"); 

function get_client_ip() 
{ 
    $ipaddress = ''; 
    if (getenv('HTTP_CLIENT_IP')) 
     $ipaddress = getenv('HTTP_CLIENT_IP'); 
    else if(getenv('HTTP_X_FORWARDED_FOR')) 
     $ipaddress = getenv('HTTP_X_FORWARDED_FOR'); 
    else if(getenv('HTTP_X_FORWARDED')) 
     $ipaddress = getenv('HTTP_X_FORWARDED'); 
    else if(getenv('HTTP_FORWARDED_FOR')) 
     $ipaddress = getenv('HTTP_FORWARDED_FOR'); 
    else if(getenv('HTTP_FORWARDED')) 
     $ipaddress = getenv('HTTP_FORWARDED'); 
    else if(getenv('REMOTE_ADDR')) 
     $ipaddress = getenv('REMOTE_ADDR'); 
    else 
     $ipaddress = 'UNKNOWN'; 

    return $ipaddress; 
} 

$ipadr = get_client_ip(); 

//connection to the database 
$dbhandle = mysql_connect($hostname, $username, $password) 
     or die("Unable to connect to MySQL"); 

$selected = mysql_select_db("mydb",$dbhandle) 
    or die("Unable select mydb"); 

mysql_query("INSERT INTO `my_table` (`user-ip`,`user-date`) VALUES ('$ipadr','$date')"); 

mysql_close($dbhandle); 

kimse bunun nasıl yapılacağını bana yardımcı olabilir? Bu düz php kodunu SLIM çerçeve koduyla karıştırmak mümkün mü? Herhangi bir yardım harika olacaktır.

cevap

1

Evet, bunu yapabilirsiniz. Kodu bir işlev içine koymanız yeterlidir ve bu işlevi rotanızın içinden çağrılabilir olarak adlandırın. Bunları kullanmak değişmelidir böylece mysql fonksiyonlar, çok eski ve PHP 7 ile artık kullanılabilir olduğunu

Not ya mysqli veya PDO.

+0

Sadece 'mysql_' çok eski değil, SQL enjeksiyon saldırılarına açık (bu kodun yaptığı gibi) açık bırakabilir! '$ Ipadr 'değerini belirlemek için kullanılan bu başlıkların birçoğu, SQL enjeksiyon koduyla kolayca taklit edilebilir ve doldurulabilir. – alexw