• 29-12-2012, 00:02:00
    #1
    Üyelerim üye bilgilerini güncellemek istiyor. Üyeler SESSION ile aktif.
    Formu yollayınca başarılı diyor. Tekrar profil bilgilerine gelince hiçbirşey yazmıyor.
    Çıkış yapınca tekrar giriş yapmak istesem kullanıcı adı hata vs diyor.
    Kod Bloğum profil-update.php
    <?php
    ob_start();
    session_start();
    require("../inc/inc_config.php");
    $referer = @$_SERVER['HTTP_REFERER'];
    if ($referer == "")  
    {  
    header("Location: $root"."uyari/"); 
    }  
    else  
    {
    ?>
    <link rel="stylesheet" href="<?php echo $root."css/style.css";?>" type="text/css" />
    <?php
    $root2 = $root.'profil/';
    $sure = "600";
    if(isset($_POST["kayitet"]))
    {
    	$ad=trim(mysql_real_escape_string(strip_tags($_POST["ad"])));
    	$id=trim(mysql_real_escape_string(strip_tags($_POST["kayitet"])));
    	$soyad=trim(mysql_real_escape_string(strip_tags($_POST["soyad"])));
    	$sifre=trim(mysql_real_escape_string(strip_tags($_POST["sifre"])));
    	$tsifre=trim(mysql_real_escape_string(strip_tags($_POST["tsifre"])));
    	$tel=trim(mysql_real_escape_string(strip_tags($_POST["tel"])));
    	$cinsiyet=trim(mysql_real_escape_string(strip_tags($_POST["cinsiyet"])));
    	$sehir=trim(mysql_real_escape_string(strip_tags($_POST["sehir"])));
    	$adres=trim(mysql_real_escape_string(strip_tags($_POST["adres"])));
    	$ses=mysql_real_escape_string(strip_tags($_POST["sktime_session"]));
    	$getip=ip();
    	$date = date("y-m-d");
    	$tarih = turkcetarih('j F Y',$date);
    	$fark = "2";
    	$saatfark = (date("H") + ($fark));
    	$zaman1 = mktime( $saatfark, date("i"), date("s"), date("m"), date("d"), date("Y"));
    	$zaman = date("H:i:s",$zaman1);
    	$yenitarih = $tarih." - ".$zaman;
    	$durum = 1;
    		
    	if($ad == '' or $soyad == '' or $sifre == '' or $tsifre == '' or $tel == '' or $cinsiyet == '' or $adres == ''){
    			echo '
    			<div id="error">
    				<p>Hata. Lütfen Form'.'u Boş Bırakmayınız !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root2.'">Tıklayınız..</a>
    				</p>
    			</div>
    			';
    		header("Refresh:2; url=$root2");
        }elseif($sifre != $tsifre){
    			echo '
    			<div id="error">
    				<p>Hata. Şifreleriniz Birbirleriyle Uyuşmuyor !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root2.'">Tıklayınız..</a>
    				</p>
    			</div>
    			';
    		header("Refresh:2; url=$root2");
    	}elseif((@$_SESSION['sktime_session']) AND ($ses) AND (@$_SESSION['sktime_session'] == $ses))
    	{ 
    		$insert = mysql_query("UPDATE users SET
    			ad = '$ad',
    			soyad = '$soyad',
    			mail = '$mail',
    			parola = '".md5(md5($sifre))."',
    			telefon = '$tel',
    			cinsiyet = '$cinsiyet',
    			sehir = '$sehir',
    			adres = '$adres',
    			ip = '$getip',
    			date = '$date',
    			tarih = '$yenitarih',
    			durum = '$durum'
    			WHERE id = '$id'
    			");
    	
    	if($insert){
    		echo '
    			<div id="error">
    				<p>Teşekkürler. Profilinizi Başarıyla Gerçekleştirildi !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root.'">Tıklayınız..</a>
    				</p>
    			</div>
    		';
    		header("Refresh:2; url=$root");
    	}else{
    		echo '
    			<div id="error">
    				<p>Hata. Sistem'.'de Hata Oluştu, Lüfen Sonra Deneyiniz !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root.'">Tıklayınız..</a>
    				</p>
    			</div>
    		';
    		header("Refresh:2; url=$root2");
    	}
    	}else{
    		echo '
    			<div id="error">
    				<p>Hata. Flood Engellendi !<br>
    				Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root.'">Tıklayınız..</a>
    				</p>
    			</div>
    		';
    		header("Refresh:2; url=$root");
    	} 
    	unset($_SESSION['sktime_session']);
    	}
    }
    mysql_close();
    ob_end_flush();
    ?>
  • 29-12-2012, 00:43:52
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    unset($_SESSION['sktime_session']); bundan kaynaklı olması yüksek. Çünkü oturumu false ediyor. İyi çalışmalar
  • 29-12-2012, 09:12:32
    #3
    ses ten değil ses kontrolü var zaten öyle bir durumda başarılı demez sorgunuzu kontrol edin

    hepsini '".md5(md5($sifre))."', böyle yazmayı dener misiniz?

    $id=trim(mysql_real_escape_string(strip_tags($_POS T["kayitet"])));
    id formdan almayın bir bakmışsınız bütün hesaplar güncellenmiş şok olursunuz ses te tutmuyor musunuz id curl ile yada farklı yollarla tüm hesaplar güncellenir haberiniz bile olmaz

    echo ile sorguyu basıp çıkan yazıyı mysql e basarmısınız nasıl bir işlem yapıyor

    echo("UPDATE users SET
    ad = '$ad',
    soyad = '$soyad',
    mail = '$mail',
    parola = '".md5(md5($sifre))."',
    telefon = '$tel',
    cinsiyet = '$cinsiyet',
    sehir = '$sehir',
    adres = '$adres',
    ip = '$getip',
    date = '$date',
    tarih = '$yenitarih',
    durum = '$durum'
    WHERE id = '$id'
    ")
  • 29-12-2012, 10:39:54
    #4
    functions adlı üyeden alıntı: mesajı görüntüle
    unset($_SESSION['sktime_session']); bundan kaynaklı olması yüksek. Çünkü oturumu false ediyor. İyi çalışmalar
    buradaki session_kontrolü flood koruması için. formda anlık session oluşturuyorum ve onu post ediyorum. Eğer session lar tutmuyorsa flood, değilse update işlemi gerçekleşiyor.
    oophp adlı üyeden alıntı: mesajı görüntüle
    ses ten değil ses kontrolü var zaten öyle bir durumda başarılı demez sorgunuzu kontrol edin

    hepsini '".md5(md5($sifre))."', böyle yazmayı dener misiniz?

    $id=trim(mysql_real_escape_string(strip_tags($_POS T["kayitet"])));
    id formdan almayın bir bakmışsınız bütün hesaplar güncellenmiş şok olursunuz ses te tutmuyor musunuz id curl ile yada farklı yollarla tüm hesaplar güncellenir haberiniz bile olmaz

    echo ile sorguyu basıp çıkan yazıyı mysql e basarmısınız nasıl bir işlem yapıyor

    echo("UPDATE users SET
    ad = '$ad',
    soyad = '$soyad',
    mail = '$mail',
    parola = '".md5(md5($sifre))."',
    telefon = '$tel',
    cinsiyet = '$cinsiyet',
    sehir = '$sehir',
    adres = '$adres',
    ip = '$getip',
    date = '$date',
    tarih = '$yenitarih',
    durum = '$durum'
    WHERE id = '$id'
    ")
    id yi nereden alacam pekii ?
    echo $sorgu yaptım.
    Çıkan sonuç:

     UPDATE users SET ad = 'Samet', soyad = 'Kuruçay', parola = 'f7d6fd9124cce7f8c5ef42b77882e0b5', telefon = '(541) 845-9878', cinsiyet = 'Erkek', sehir = 'Samsun', adres = 'SAMSUN', ip = '::1', date = '12-12-29', tarih = '29 Aralık 2012 - 10:37:31', durum = '1' WHERE id = '1'
    Edit : Sorun nasıl çözüldü bilmiyorum ama galiba dün gece hem localde hemde sunucuda çalıştığım için SESSION lar karışmış olabilir.. Teşekkürler
  • 29-12-2012, 10:53:00
    #5
    session da id saklayın oturum açıldığında,
    UPDATE users SET ad = 'Samet', soyad = 'Kuruçay', parola = 'f7d6fd9124cce7f8c5ef42b77882e0b5', telefon = '(541) 845-9878', cinsiyet = 'Erkek', sehir = 'Samsun', adres = 'SAMSUN', ip = '::1', date = '12-12-29', tarih = '29 Aralık 2012 - 10:37:31', durum = '1' WHERE id = '1'

    bunu phpmyadmin yada mysql panele nasıl bağlanıyorsanız direk yazdığınızda sonuç ne
    dönüyor, 1 id li kayıtı kontrol edin,



    $insert = mysql_query("UPDATE users SET
    ad = '$ad',
    soyad = '$soyad',
    mail = '$mail',
    parola = '".md5(md5($sifre))."',
    telefon = '$tel',
    cinsiyet = '$cinsiyet',
    sehir = '$sehir',
    adres = '$adres',
    ip = '$getip',
    date = '$date',
    tarih = '$yenitarih',
    durum = '$durum'
    WHERE id = '$id'
    ");

    if($insert){
    echo '
    <div id="error">
    <p>Teşekkürler. Profilinizi Başarıyla Gerçekleştirildi !<br>
    Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root.'">Tıklayınız..</a>
    </p>
    </div>
    ';


    if nerde? unset nerde yapıyorsunuz, sırayla işler php siz unset yapmadan önce sorgu çalışıyor zaten işlem tamam mesajı veriyormuş zaten, siz db ye yanlış giriyor demiyor musunuz benmi yanlış anlıyorum? "Formu yollayınca başarılı diyor. Tekrar profil bilgilerine gelince hiçbirşey yazmıyor.
    Çıkış yapınca tekrar giriş yapmak istesem kullanıcı adı hata vs diyor." burdan çıkardığım bu, sql e kayıt ederken bir problem var hesap uçuyorsa yada yanlış kaydediyorsa
  • 29-12-2012, 18:55:17
    #6
    oophp adlı üyeden alıntı: mesajı görüntüle
    session da id saklayın oturum açıldığında,
    UPDATE users SET ad = 'Samet', soyad = 'Kuruçay', parola = 'f7d6fd9124cce7f8c5ef42b77882e0b5', telefon = '(541) 845-9878', cinsiyet = 'Erkek', sehir = 'Samsun', adres = 'SAMSUN', ip = '::1', date = '12-12-29', tarih = '29 Aralık 2012 - 10:37:31', durum = '1' WHERE id = '1'

    bunu phpmyadmin yada mysql panele nasıl bağlanıyorsanız direk yazdığınızda sonuç ne
    dönüyor, 1 id li kayıtı kontrol edin,



    $insert = mysql_query("UPDATE users SET
    ad = '$ad',
    soyad = '$soyad',
    mail = '$mail',
    parola = '".md5(md5($sifre))."',
    telefon = '$tel',
    cinsiyet = '$cinsiyet',
    sehir = '$sehir',
    adres = '$adres',
    ip = '$getip',
    date = '$date',
    tarih = '$yenitarih',
    durum = '$durum'
    WHERE id = '$id'
    ");

    if($insert){
    echo '
    <div id="error">
    <p>Teşekkürler. Profilinizi Başarıyla Gerçekleştirildi !<br>
    Yönlendiriliyorsunuz.. Eğer Yönlendirmede Sıkıntı Varsa <a href="'.$root.'">Tıklayınız..</a>
    </p>
    </div>
    ';


    if nerde? unset nerde yapıyorsunuz, sırayla işler php siz unset yapmadan önce sorgu çalışıyor zaten işlem tamam mesajı veriyormuş zaten, siz db ye yanlış giriyor demiyor musunuz benmi yanlış anlıyorum? "Formu yollayınca başarılı diyor. Tekrar profil bilgilerine gelince hiçbirşey yazmıyor.
    Çıkış yapınca tekrar giriş yapmak istesem kullanıcı adı hata vs diyor." burdan çıkardığım bu, sql e kayıt ederken bir problem var hesap uçuyorsa yada yanlış kaydediyorsa
    Hocam SESSION lar karıştı ya. Hem Localde hem gerçekte aynı anda işlemi yapınca o yüzden böyle bir hatayla karşılaşmışım. Teşekkür ederim yorumun için.