İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Parse error: syntax error, unexpected T_STRING in

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2
merhaba arkadaşlar; şu kodda hata nedir? yardımcı olurmusunuz?
Kod:
<?php 
$baglan=mysql_connect("localhost","root","");
if (!baglan)

{
	echo "veritabanına baglanamadı!";
	exit;
}

$sql="Select * From veriler Where uyeadi='$uyeadi' AND sifre='$sifre';
$sonuc=mysql_db_guery("uyeler",$sql);
$satir_sayisi=mysql_num_rows($sonuc);

if ($satir_sayisi>0)
{
	session_start();
	
	$kisi=$uyeadi;
	session_register("kisi");
	inculude("index.php");
	
}

else {
    echo "işlem sıradında hata oldu. olmasa şaşardım zaten beceriksiz...";
}
?>

tırnakları defalarca kontrol ettim ama yine bu hatayı veriyor :( teşekkürler

Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\odev\uye_kontrol.php on line 11
 

MsiDestek

0
İyinet Üyesi
Katılım
21 Aralık 2010
Mesajlar
53
Reaction score
2
PHP:
<?php 
$baglan=mysql_connect("localhost","root","");
if (baglan)

{
	echo "veritabanına baglanamadı!";
	exit;
}

$sql="Select * From veriler Where uyeadi='$uyeadi' AND sifre='$sifre';
$sonuc=mysql_db_guery("uyeler",$sql);
$satir_sayisi=mysql_num_rows($sonuc);

if ($satir_sayisi>0)
{
	session_start();
	
	$kisi=$uyeadi;
	session_register("kisi");
	inculude("index.php");
	
}

else {
    echo "işlem sıradında hata oldu. olmasa şaşardım zaten beceriksiz...";
}
?>
Böyle denermisin ?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
$sql="Select * From veriler Where uyeadi='$uyeadi' AND sifre='$sifre';
->
$sql="Select * From veriler Where uyeadi='$uyeadi' AND sifre='$sifre'";

inculude
->
include
 

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2
@Angelo

teşekkürler ama bu kez de; (o satıra da elli kere bakmıştım :( )

PHP:
Fatal error: Call to undefined function mysql_db_guery()
 

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2

biz db olarak kullanmıştık ama o kısmı sildiğimde de şu hata çıkıyor :(

Fatal error: Call to undefined function mysql_guery() in C:\xampp\htdocs\odev\uye_kontrol.php on line 9

şu şekilde yaptım bu kezde yine o kısım hata verdi :(
PHP:
<?php 
$mysql_baglanti = mysql_connect("localhost","root","") 
or die ("<center><br><br><br>veritabanına baglanamadı!!!! <br>1</center>");

@mysql_select_db("uyeler") 
or die ("<center><br><br><br>veritabanı adını kontrol et <br>2</center>");

$sql="Select * From veriler Where uyeadi='$uyeadi' AND sifre='$sifre'"; 
$sonuc=mysql_guery("uyeler",$sql);
$satir_sayisi=mysql_num_rows($sonuc);

if ($satir_sayisi>0)
{
	session_start();
	
	$kisi=$uyeadi;
	session_register("kisi");
	include("index.php");
	
}

else {
    echo "işlem sıradında hata oldu...";
}
?>

bu arada verileri post olarak gönderiyorum
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
g ile değil q ile. paste ederseniz daha iyi olur. ayrıca kodda başka mantık hataları da var, ve include satırı da hala bozuk bunu düzeltseniz gene uyarı verecek.


$sql="Select * From veriler Where uyeadi='$uyeadi' AND sifre='$sifre'";
$sonuc=mysql_query($sql);
$satir_sayisi=mysql_num_rows($sonuc);
 

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2
g ile değil q ile. paste ederseniz daha iyi olur. ayrıca kodda başka mantık hataları da var, ve include satırı da hala bozuk bunu düzeltseniz gene uyarı verecek.


$sql="Select * From veriler Where uyeadi='$uyeadi' AND sifre='$sifre'";
$sonuc=mysql_query($sql);
$satir_sayisi=mysql_num_rows($sonuc);

bu şekilde de veritabanına bağlanamadı "işlem sırasında bir hata oldu.." yazısı ile karşılaştım. (son satırdaki kod, veritabanıyla tam alakası varmı bilmiyorum)

mantık hataları nedir hocam? ilk yazdığım şekilde php 4 de çalıştırıyordu okuldaki hocam ama bende çalışmadı :( bende 5 var.

verileri post ile gönderdiğimiz için $_POST şeklinde değişken belirtmemiz gerek mi?

-----

şurda satır sayılarına bakıyor sanırım.

$satir_sayisi=mysql_num_rows($sonuc);

bunun üstündeki koddan "uyeler" (veritabanı adı) kısmını, sizin verdiğiniz kod gibi silersek ne ile neyi eşitler acaba? :(
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
1) mysql_db_query kullanılmayan bir fonksiyon artık.
2) mysql_query Sorgu parametresini alır, o yüzden ilk parametreyi sildim.

Örnek kullanım: mysql_query("SELECT birsey FROM biryer WHERE birlimit='$birdeger'");

3) POST gelen veriler, $_POST olarak kullanılmalı doğrudur.
ornek: $_POST['uyeadi']
kullanici verileri guvenlik amaciyla filtrelenmelidir
ornek:
$uyeadi = htmlspecialchars(addslashes($_POST['uyeadi']));

4) Kodda işlem sırasında hata oluyor yazması bağlanamadığına işaret etmiyor. Gelen satır sayısının 1'den büyük olmadığına işaret ediyor. Yani ya "0" ya da sorgu başarısız. Büyük ihtimalle uyeadi diye direk değişken verdiğiniz için sorguya başarısız oluyor.

Herşeyden önce öğrenmeniz gereken en büyük fonksiyon var_dump()

Nerede yanlış yapıyorum diye saatlerce koda bakıyor yeni başlayan arkadaşlar. Beynimiz bilgisayar değil ki bizim. Kodun gerekli yerlerine var_dump ile değişkenleri bastırarak neyin yanlış olduğunu bulmak daha kolay olur.


var_dump($uyeadi);
var_dump($sonuc);
vb.

www.php.net/var_dump
www.php.net/mysql_query
www.php.net/mysql_num_rows
 

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2
teşekkür ederim açıklamanız için ama neden sorgu başarısız oluyor onu hala anlayamadım. çok zahmet verdim ama bir kere daha bakarmısınız?

index.php

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Untitled Document</title>
</head>

<body>

<form id="form1" name="form1" method="post" action="uye_kontrol.php">
  <p> </p>
  <table width="800" border="1" align="center">
    <tr>
      <th width="220" height="343" valign="top" bgcolor="#66CCCC" scope="row"><label>Üye adı:
          
          <input type="text" name="uyead" id="uyead" />
          <br />
          <br />
          Şifreniz:
          <input name="sifre" type="password" id="sifre" />
          <br />
          <br />
          <input type="submit" name="giris" id="giris" value="Giriş" />
          <br />
      </label></th>
      <td bgcolor="#336699"> </td>
      <td width="220" valign="top" bgcolor="#66CCCC"> </td>
    </tr>
  </table>
  <p> </p>
</form>
</body>
</html>

uye_kontrol

PHP:
<?php 
$mysql_baglanti = mysql_connect("localhost","root","") 
or die ("<center><br><br><br>veritabanına baglanamadı!!!! <br>1</center>");

@mysql_select_db("uye") 
or die ("<center><br><br><br>veritabanı adını kontrol et <br>Hata 2</center>");


$uyead = $_POST['uye_adi'];
$sifre = $_POST['sifresi'];

$sql="Select * From veriler Where uye_adi='$uyead' AND sifresi='$sifre'";
$sonuc=mysql_query($sql);
$satir_sayisi=mysql_num_rows($sonuc); 

if ($satir_sayisi>0)
{
	session_start();
	
	$kisi=$uyead;
	session_register("kisi");
	include("index.php");
}

else {
    echo "işlem sıradında hata oldu. olmasa şaşardım zaten beceriksiz...";
}
?>

uye_ad, sifresi - tablo isimleri
uyead, sifre - değişkenler
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
E nasıl bulacağınızı söyledim gerçi ama.. :)

PHP:
$sql="Select * From veriler Where uye_adi='$uyead' AND sifresi='$sifre'";
$sonuc=mysql_query($sql);
$satir_sayisi=mysql_num_rows($sonuc);

->

PHP:
$sql="Select * From veriler Where uye_adi='$uyead' AND sifresi='$sifre'";
var_dump($sql);

$sonuc=mysql_query($sql);
var_dump($sonuc);

$satir_sayisi=mysql_num_rows($sonuc); 
var_dump($satir_sayisi);

şeklinde değiştirip çıktıyı gönderiniz.

Herşeyden önce
$uyead = $_POST['uye_adi'];
$sifre = $_POST['sifresi'];

formda uye_adi ve sifresi degil ki anahtarlar. "uyead" ve "sifre"
 

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2
E nasıl bulacağınızı söyledim gerçi ama.. :)

PHP:
$sql="Select * From veriler Where uye_adi='$uyead' AND sifresi='$sifre'";
$sonuc=mysql_query($sql);
$satir_sayisi=mysql_num_rows($sonuc);

->

PHP:
$sql="Select * From veriler Where uye_adi='$uyead' AND sifresi='$sifre'";
var_dump($sql);

$sonuc=mysql_query($sql);
var_dump($sonuc);

$satir_sayisi=mysql_num_rows($sonuc); 
var_dump($satir_sayisi);

şeklinde değiştirip çıktıyı gönderiniz.

Herşeyden önce
$uyead = $_POST['uye_adi'];
$sifre = $_POST['sifresi'];

formda uye_adi ve sifresi degil ki anahtarlar. "uyead" ve "sifre"

Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\odev\uye_kontrol.php on line 15

:(
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Tekrar paste edin, çalışıyor olması gerekiyor. Sizin kodunuzda bir hata vermiyorsa, bu eklemelerde bir sorun yok.
 

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2
Tekrar paste edin, çalışıyor olması gerekiyor. Sizin kodunuzda bir hata vermiyorsa, bu eklemelerde bir sorun yok.

bu şekilde değiştirdim. yine 15 inci satırda hata buldu
PHP:
<?php 
$mysql_baglanti = mysql_connect("localhost","root","") 
or die ("<center><br><br><br>bi halti beceremedin len veritabanına baglanamadı!!!! <br>Hata No:1</center>");

@mysql_select_db("uye") 
or die ("<center><br><br><br>len yine mi beceremedin? veritabanı adını kontrol et <br>Hata No:2</center>");


$uye_adi = $_POST['uyead'];
$sifresi = $_POST['sifre'];

$sql="Select * From veriler Where uyead='$uye_adi' AND sifre='$sifresi'";
var_dump($sql)

$sonuc=mysql_query($sql);
var_dump($sonuc);

$satir_sayisi=mysql_num_rows($sonuc); 
var_dump($satir_sayisi);   

if ($satir_sayisi>0)
{
	session_start();
	
	$kisi=$uye_adi;
	session_register("kisi");
	include("index.php");
}

else {
    echo "işlem sıradında hata oldu. olmasa şaşardım zaten beceriksiz...";
}
?>

iyice kafam karıştı :( değişken ve veritabanı isimlerinin sıralaması doğru mu :S
 

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2

ben post ve değişken isimlerinin yerlerini mi yanlış yazıyorum. iyice kafam karıştı :(

yukardakinin çıktısı;

PHP:
string(59) "Select * From veriler Where uyead='test' AND sifre='123456'" bool(false) 
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\odev\uye_kontrol.php on line 18
lisanssız işlem sıradında hata oldu.

şu kısmı şu şekilde yaptım;
PHP:
$uye_adi = $_POST['uyead'];
$sifresi = $_POST['sifre'];

$sql="Select * From veriler Where uye_adi='$uyead' AND sifresi='$sifre'";

bu kezde;

string(53) "Select * From veriler Where uye_adi='' AND sifresi=''" resource(3) of type (mysql result) int(0) işlem sıradında hata oldu

not: phpmyadmin de ekle kısmından test ve 123456 diye bilgiler eklemiştim. (2 kere ekledi aynısı ama bende birini sildim)
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
$uye_adi = $_POST['uyead'];
$sifresi = $_POST['sifre'];

$sql="Select * From veriler Where uye_adi='$uye_adi' AND sifresi='$sifresi'";
 

efekentli

0
İyinet Üyesi
Katılım
2 Şubat 2008
Mesajlar
843
Reaction score
2
$uye_adi = $_POST['uyead'];
$sifresi = $_POST['sifre'];

$sql="Select * From veriler Where uye_adi='$uye_adi' AND sifresi='$sifresi'";

çok sabırlısın hocam teşekkür ederim.

son hali ile;

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Untitled Document</title>
</head>

<body>

<form id="form1" name="form1" method="post" action="uye_kontrol.php">
  <p> </p>
  <table width="800" border="1" align="center">
    <tr>
      <th width="220" height="343" valign="top" bgcolor="#66CCCC" scope="row"><label>Üye adı:
          
          <input type="text" name="uyead" id="uyead" />
          <br />
          <br />
          Şifreniz:
          <input name="sifre" type="password" id="sifre" />
          <br />
          <br />
          <input type="submit" name="giris" id="giris" value="Giriş" />
          <br />
      </label></th>
      <td bgcolor="#336699"> </td>
      <td width="220" valign="top" bgcolor="#66CCCC"> </td>
    </tr>
  </table>
  <p> </p>
</form>
</body>
</html>

PHP:
<?php 
$mysql_baglanti = mysql_connect("localhost","root","") 
or die ("<center><br><br><br>bi halti beceremedin len veritabanına baglanamadı!!!! <br>Hata No:1</center>");

@mysql_select_db("uye") 
or die ("<center><br><br><br>len yine mi beceremedin? veritabanı adını kontrol et <br>Hata No:2</center>");


$uye_adi = $_POST['uyead'];
$sifresi = $_POST['sifre'];

$sql="Select * From veriler Where uye_adi='$uye_adi' AND sifresi='$sifresi'";
var_dump($sql);

$sonuc=mysql_query($sql);
var_dump($sonuc);

$satir_sayisi=mysql_num_rows($sonuc); 
var_dump($satir_sayisi);   

if ($satir_sayisi>0)
{
	session_start();
	
	$kisi=$uye_ad;
	session_register("kisi");
	include("index.php");
}

else {
    echo "işlem sıradında hata oldu. olmasa şaşardım zaten beceriksiz...";
}
?>

ve çıktısı:

Kod:
string(63) "Select * From veriler Where uye_adi='test' AND sifresi='123456'" resource(3) of type (mysql result) int(1) 
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\odev\uye_kontrol.php:13) in C:\xampp\htdocs\odev\uye_kontrol.php on line 23

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\odev\uye_kontrol.php:13) in C:\xampp\htdocs\odev\uye_kontrol.php on line 23
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst