Cycl0ne adlı üyeden alıntı:
mesajı görüntüle
Undefined index ( Değişken ) Hatası
15
●939
- 22-02-2017, 03:53:18Session olarak öyle bir atama yoksa nasıl yazdırmayı planlıyorsunuz. Ayrıca yardımcı olmaya çalışıyorum ama kodları parça parça koyuyor veya hiç koymuyorsunuz.Fhm adlı üyeden alıntı: mesajı görüntüle
- 22-02-2017, 03:58:39Hocam acemiyim kusura bakmayın, bütün kodları ekleyeyim ona göre yönlendirin.
Login.php Kodları:
<?php include("Connections/baglanti.php"); if($_POST){ $kadi= mysql_real_escape_string ((int)$_POST['name']); $sifre= $_POST['pass']; $sorgu = mysql_query('SELECT * from ogrenciler WHERE ogrencitc="'.$kadi.'" AND ogrencipass="'.$sifre.'" '); if (mysql_num_rows($sorgu)) { $liste = mysql_fetch_array($sorgu); echo "Hoşgeldin ".$kadi." giriş başarılı oldu."; header("location:log.php"); }else { header("location:index.php?error=1"); } } ?>
İndex.php Kodları :
<?php require_once('Connections/baglanti.php');?> <?php // ** Logout the current user. ** $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_SESSION['MM_Username']); unset($_SESSION['MM_UserGroup']); unset($_SESSION['PrevUrl']); $logoutGoTo = "index.php"; if ($logoutGoTo) { header("Location: $logoutGoTo"); exit; } } ?> <?php $ogrencitc_1453 = $_SESSION['ogrencitc']; $ogrenci = mysql_query('SELECT * from ogrenciler WHERE ogrencitc="'.$ogrencitc_1453.'" '); $ogrenci = mysql_fetch_array($ogrenci); $sinavlar = mysql_query(' SELECT * FROM ogrenciler AS o INNER JOIN sonuc AS s ON o.`ogrenciid`=s.`ogrenciid` INNER JOIN denemesinavi AS d ON d.`denemeid`=s.`denemeid` WHERE o.ogrencitc="'.$ogrencitc_1453.'" '); ?>Baglanti.php Kodları :
<?php session_name(substr(md5('http://'.$_SERVER['HTTP_HOST']), 0, 10)); session_start(); error_reporting(E_ALL); ini_set('display_errors',1); $database_baglanti = ['yildiz']; $server = "localhost"; $nick = 'root'; $pass = ''; $databasename = 'yildiz'; $conn = mysql_connect('localhost', 'root', '') or die('Error'); mysql_select_db('yildiz', $conn); $db = mysql_connect('localhost','root','') or die ('Error'); ?>PDO'ya çevirmeye çalıştım verdiğiniz bağlantıya göre, o zaman da Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\log.php on line 35
hatası verdi.
Cycl0ne adlı üyeden alıntı: mesajı görüntüle - 22-02-2017, 04:12:31Hatalarınızı tek tek belirtmeye çalışacağım.
if($_POST){
}
Hatalı kullanım buna çok sık rastlıyorum.
$kadi= mysql_real_escape_string ((int)$_POST['name']);
$_POST['name']'den gelen değeri sayıye çevirdikten sonra filtreden geçiriyorsunuz?
$sifre= $_POST['pass'];
Buna ise hiçbir işlem yapmamışsınız.
echo "Hoşgeldin ".$kadi." giriş başarılı oldu.";
header("location:log.php");
ekrana çıktı verdikten sonra yönlendirme yapmaya kalkmışsınız. Bu kullanımda hatalı.
PDO'ya çevirmeye çalıştım verdiğiniz bağlantıya göre, o zaman da Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\log.php on line 35
PDO kütüphanesini inceleyebilirsiniz. İnternette bolca dökümantasyonu bulunuyor.
Kodların bir kısmını internetten almışsınız sanırım. SESSION ile GET'i karıştırmış olabilir misiniz? - 22-02-2017, 23:02:37@Cycl0ne , açıklamasına ek olarak.
$_SESSION['ogrencitc'] = $liste['ogrencitc']; 'yi atamanız gerek ki index.php de o değeri alsın.
şifre için md5 yada sha1 gibi bir fonksiyon kullanmakta fayda var. Örneğin kendi giriş sayfam için bir ara şifreyi;
$sifre=trim(addslashes(sha1(strtolower($_POST['kadi']).$_POST['ksifre'])));
bu şekilde yapmıştım.
Post ya da GET ten gelen veriyi temzilemekta fayda var.
function temizle($veri){
$veri = strip_tags($veri);
$veri = addslashes($veri);
$veri = mysql_real_escape_string($veri);
return $veri;
}
kullanımı;
$kullanici = temizle($_POST['kadi']);
gibi.
Header yönlendirmesi için öncesinde çıktı olmaması gerekir.
Tavsiyem yeni başlıyorsanız, basit bir betik bulun ya da sıfırdan dökümanları okuyarak yapınız.