Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Parse error: syntax error, unexpected T_STRING in

efekentli

0
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
Üye
Katılım
21 Aralık 2010
Mesajlar
53
Açılan Konu
10
Tepki puanı
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
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
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
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
2
teşekkür ederim ama yine aynı satırda hata verdi.
 

efekentli

0
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
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
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
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
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
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
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Tekrar paste edin, çalışıyor olması gerekiyor. Sizin kodunuzda bir hata vermiyorsa, bu eklemelerde bir sorun yok.
 

efekentli

0
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
$uye_adi = $_POST['uyead'];
$sifresi = $_POST['sifre'];

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

efekentli

0
Onaylı Üye
Üye
Katılım
2 Şubat 2008
Mesajlar
843
Açılan Konu
48
Tepki puanı
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
 
Üst