Giriş Yap / Kayıt Ol
smmraja

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!


Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > PHP
PUBG Mobile UC

Php Mysql verilerini pdo çevirme hatası

  #1  
Okunmamış 23 Nisan 2018, 00:38
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 15 Kasım 2016
Yaş / Cinsiyet: 29 / Erkek
Meslek: Yönetici
Konum: Mersin
Ad, Soyad: Me... Uc...
Mesajlar: 153
Beğeniler: 11 / 44
Ticaret: 0, 0%
Arkadaşlar şu iki php dosyasını pdoya çevirmek istedim ama sabahtan beridir uğraşıyorum bir türlü yapamadımm Allah rızası için biri şunu pdoya çevire bilir mi?

Vallahi ekrana bakmaktan oraya buraya bakmaktan bıktım, biri şu iki dosyayı pdoya çevirsin artık isyan etmeye başladım


Kod:

<?php
//$host ='localhost'; 
//$database ='pro'; 
//$user ='root';
//$pass ='123456';
 
//mysql_connect($host,$user,$pass);
//mysql_select_db($database);
?>
Kod:
<?php

include("connect.php");
$username = mysql_escape_string($_GET['username']);
$password = mysql_escape_string($_GET['password']);

$squery = mysql_query("SELECT * FROM users WHERE username='$username'");
$query = mysql_fetch_array($squery);
$rowcount = mysql_num_rows($squery);

if($rowcount == 1)
{
	if($password != $query['password'])
		echo 'password ';
	else 'login ';
}	
else
	echo 'Kayıt '
	


?>
SMM Big
  #2  
Okunmamış 23 Nisan 2018, 04:01
edcsmile Adlı Üyenin Avatarı
Game Developer
 
Üyelik Tarihi: 08 Mayıs 2015
Cinsiyet: Erkek
Meslek: Developer
Konum: Samsun
Ad, Soyad: İl... Şa...
Mesajlar: 975
Beğeniler: 283 / 271
Ticaret: 18, 100%
1-Connect.php
PHP- Kodu:
<?php
header
('Content-Type: text/html; charset=utf-8');   
  
$k_id "root"// veritabanı kullanıcı adı - database username   
$k_pass "123456"// veritabanı kullanıcı şifresi - database password   
$k_host "localhost"// sunucu - host   
$k_db "pro"// veritabanı adı - database name   
  
try {   
    
$db = new PDO("mysql:host={$k_host};dbname={$k_db};charset=utf8"$k_id$k_pass);   
    
// veritabanından veri çekerken türkçe sorunlarını düzeltmek için utf-8e dönüştürüyoruz   
    
$db->exec("SET NAMES 'utf8';");   
    
$db->exec("SET CHARSET 'utf8;'");   
} catch ( 
PDOException $e ){   
     
// die($e->getMessage()); // bağlantı sağlanamıyorsa bu satırı aktif ederek sorunu öğreniyoruz   
     
die("DATABASE NOT FOUND!"); // veya hata çıktımızı veriyoruz   
}  
?>
2-Diğer dosyan
PHP- Kodu:
<?php
include("connect.php");
$username mysql_escape_string($_GET['username']);
$password mysql_escape_string($_GET['password']);

$kullaniciKontrol $db->query("SELECT * FROM users WHERE username = '{$username}' AND password = '{$password}'")->fetch(PDO::FETCH_ASSOC);   

if(
$kullaniciKontrol)
{
    echo 
'Giriş yapıldı.';
}    
else
    echo 
'Kullanıcı adı veya şifre yanlış.'// Genel bilgilendirme yaptık
?>
PDO Veritabanı Sınıfı Bakmanı öneririm

Kolay gelsin (Eğer ki mysql bilgilerinin doğru olduğunu düşünp yinede bağlanmıyorsa ; AppServ gibi sanal sunucuda çalışıyorsan eğer, php 7x sürümünü aktif etmeyi ve pdo_mysql uzantısını aktif etmeyi unutma internetten araştırabilirsin)
Konu edcsmile tarafından (23 Nisan 2018, 04:10 ) değiştirilmiştir.
  #3  
Okunmamış 23 Nisan 2018, 05:59
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 15 Kasım 2016
Yaş / Cinsiyet: 29 / Erkek
Meslek: Yönetici
Konum: Mersin
Ad, Soyad: Me... Uc...
Mesajlar: 153
Beğeniler: 11 / 44
Ticaret: 0, 0%
ilginiz için teşekkür ederim ama şöyle bir hata alıyorum

xampp kullanıyorum ve hata
Fatal error: Uncaught Error: Call to undefined function mysql_escape_string() in C:\xampp\htdocs\login\login.php:3 Stack trace: #0 {main} thrown in C:\xampp\htdocs\login\login.php on line 3

akıl vermek gibi olmasın ama sanırı şunlar pdo tarzında yazılması gerekiyor.

$username = mysql_escape_string($_GET['username']);
$password = mysql_escape_string($_GET['password']);
Konu mesut33 tarafından (23 Nisan 2018, 06:02 ) değiştirilmiştir.
  #4  
Okunmamış 23 Nisan 2018, 06:46
Decimas Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 19 Nisan 2015
Cinsiyet: Erkek
Meslek: Developer
Ad, Soyad: Ey... Er...
Mesajlar: 825
Beğeniler: 299 / 1
Ticaret: 1, 100%
connection.php

PHP- Kodu:
<?php
class Connection{
    
// database configuration
    
public $db 'YourDb';
    public 
$host 'localhost';
    public 
$user 'root';
    public 
$pass 'YourDbUserPassword';

    
// MySQL Connection Function
    
public function MySQLConnection(){
        try {
            
$pdo = new PDO("mysql:host={$this->host}; dbname={$this->db}; charset=utf8""{$this->user}""{$this->pass}");
            
$pdo->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_WARNING );
            return  
$pdo;
        } catch (
PDOException $exp) {
            
print_r($exp);
        }
    }
}
common.php

PHP- Kodu:
<?php
class Common{
    
/*--------------------- $_GET & $_POST ----------------- START */

    // Secure via $_GET
    
public function get($parameter){
        return !isset(
$_GET[$parameter]) ? false strip_tags(trim(addslashes(htmlspecialchars($_GET[$parameter]))));
    }

    
// Secure via $_POST
    
public function post($parameter){
        if (!empty(
$_POST[$parameter])) {
            if (
is_array($_POST[$parameter])) {
                
$request = array();
                foreach (
$_POST[$parameter] as $param)
                    
$request[] = htmlspecialchars(addslashes(trim($param)));
                return 
$request;
            }
            return 
htmlspecialchars(addslashes(trim($_POST[$parameter])));
        }
        return 
false;
    }

    
/*--------------------- $_GET & $_POST ----------------- END */
}
çalıştığın.php

PHP- Kodu:
<?php
// connection class
require_once("connection.php");
$conn = new Connection();
$db $conn->MySQLConnection();

// common features
require_once("common.php");
$common = new Common();

$username $common->post('username');
$password $common->post('password');

// basic pdo selection prepare proc
$query $db->prepare("SELECT * FROM users WHERE username=:uname AND password=:upass");
//execution
$query->execute(array(
    
"uname" => $username,
    
"upass" => $password
));

// get result
$result $query->fetch(\PDO::FETCH_ASSOC);

if (
$result) {
    
var_dump($result);
} else {
    echo 
"There is no result.";
}
Güzel örnekler seçtim senin için ama pdo tek başına yetersiz, veritabanı işlemleri için daha gelişmiş sınıflar kullanmalısın, örneğin Illuminate. Sadece örnek kopyala yapıştır değil, anlayarak kendin tekrar yazmalısın, mysql fonksiyonları PHP'nin güncel sürümlerinden kaldırıldı. Muhtemleen sende o kısımda sürekli sorun yaşadın.
mesut33 bunu beğendi.
Konu Decimas tarafından (23 Nisan 2018, 20:04 ) değiştirilmiştir.
no time for caution
  #5  
Okunmamış 23 Nisan 2018, 14:26
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 15 Kasım 2016
Yaş / Cinsiyet: 29 / Erkek
Meslek: Yönetici
Konum: Mersin
Ad, Soyad: Me... Uc...
Mesajlar: 153
Beğeniler: 11 / 44
Ticaret: 0, 0%
hocam yine hata aldım

Fatal error: Uncaught Error: Using $this when not in object context in C:\xampp\htdocs\login.php:15 Stack trace: #0 {main} thrown in C:\xampp\htdocs\login.php on line 15
Konu mesut33 tarafından (23 Nisan 2018, 15:38 ) değiştirilmiştir.
  #6  
Okunmamış 23 Nisan 2018, 15:44
edcsmile Adlı Üyenin Avatarı
Game Developer
 
Üyelik Tarihi: 08 Mayıs 2015
Cinsiyet: Erkek
Meslek: Developer
Konum: Samsun
Ad, Soyad: İl... Şa...
Mesajlar: 975
Beğeniler: 283 / 271
Ticaret: 18, 100%
Alıntı:
mesut33 Adlı Üyeden Alıntı
ilginiz için teşekkür ederim ama şöyle bir hata alıyorum

xampp kullanıyorum ve hata
Fatal error: Uncaught Error: Call to undefined function mysql_escape_string() in C:\xampp\htdocs\login\login.php:3 Stack trace: #0 {main} thrown in C:\xampp\htdocs\login\login.php on line 3

akıl vermek gibi olmasın ama sanırı şunlar pdo tarzında yazılması gerekiyor.

$username = mysql_escape_string($_GET['username']);
$password = mysql_escape_string($_GET['password']);
$username = $_GET['username'];
$password = $_GET['password'];

Şimdilik bu şekilde değiştir. Eğer çalışıyorsa filtreleme için özel fonksiyon önericem (Cevaplarken etiket atmayı unutma bildirim gelmediği için göremiyorum)
mesut33 bunu beğendi.
  #7  
Okunmamış 23 Nisan 2018, 15:57
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 15 Kasım 2016
Yaş / Cinsiyet: 29 / Erkek
Meslek: Yönetici
Konum: Mersin
Ad, Soyad: Me... Uc...
Mesajlar: 153
Beğeniler: 11 / 44
Ticaret: 0, 0%
@edcsmile
xampp kullanıyordum sorun onda dimi sonra Wampserver32 kurdum ama sonuç
yine aynı


  #8  
Okunmamış 23 Nisan 2018, 15:59
edcsmile Adlı Üyenin Avatarı
Game Developer
 
Üyelik Tarihi: 08 Mayıs 2015
Cinsiyet: Erkek
Meslek: Developer
Konum: Samsun
Ad, Soyad: İl... Şa...
Mesajlar: 975
Beğeniler: 283 / 271
Ticaret: 18, 100%
İkisinide hiç önermem

1-Kesinlikle AppServ kullan.
2-Kullanıcı adı ve şifreyi doğru girdiğin halde yanlış sonucunu mu veriyor? Veritabanı bağlantısını sağlayamadığını düşünüyorum
mesut33 bunu beğendi.
  #9  
Okunmamış 23 Nisan 2018, 17:01
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 15 Kasım 2016
Yaş / Cinsiyet: 29 / Erkek
Meslek: Yönetici
Konum: Mersin
Ad, Soyad: Me... Uc...
Mesajlar: 153
Beğeniler: 11 / 44
Ticaret: 0, 0%
çok teşekkür ederim, hatayı 1 dakikada çözdünüz çok sağolun.
edcsmile bunu beğendi.
  #10  
Okunmamış 23 Nisan 2018, 20:05
Decimas Adlı Üyenin Avatarı
WM Aracı
 
Üyelik Tarihi: 19 Nisan 2015
Cinsiyet: Erkek
Meslek: Developer
Ad, Soyad: Ey... Er...
Mesajlar: 825
Beğeniler: 299 / 1
Ticaret: 1, 100%
Alıntı:
mesut33 Adlı Üyeden Alıntı
hocam yine hata aldım

Fatal error: Uncaught Error: Using $this when not in object context in C:\xampp\htdocs\login.php:15 Stack trace: #0 {main} thrown in C:\xampp\htdocs\login.php on line 15
$this->dbapp yerine $db olacakmış, gözden kaçmış
mesut33 bunu beğendi.
no time for caution
Cevap Yaz Favorilerime Ekle

1113x90

Bu Alana Reklam Ver



Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > PHP


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 03:17.