PHP: sözdizimi hatası bulunamıyor [kapalı]

6 Cevap php

Ayrıştırma hatası: falan / filan / blah.php hattında 1 sözdizimi hatası, beklenmedik $ end

Bu, bu kod ile, aldığım hata

<?php 
include("db.php");

if (isset($_POST['username']) && 
    isset($_POST['password']) && 
    isset($_POST['email']))
{
  //Prevent SQL injections
  $username = mysql_real_escape_string($_POST['username']);
  $email = mysql_real_escape_string($_POST['email']);

  //Get MD5 hash of password
  $password = md5($_POST['password']);

  //Check to see if username exists
  $sql = mysql_query("SELECT username FROM usersystem WHERE username = 'username'");

  if (mysql_num_rows($s > 0))
  {
    die ("Username taken.");
  }

  mysql_query("INSERT INTO usersystem (username, password, email) VALUES ( '$username', '$password', '$email')") 
    or die (mysql_error()); echo "Account created.";
}
?>

Ben zaten sorun değil, kapanmamış parantez için kontrol ettik. Ayrıca onunla giderme, ben ("db.php") içerdiğini keşfetti ettik; soruna neden olduğunu. Ben bunu yorum, sadece para cezası sayfasını yükler. Db.php tamamen boş olduğunda bile Ancak, sadece boş. Php dosyası hala bana aynı hatayı veriyor. Ben şaşkın değilim. Herkes herhangi bir fikir var mı?

burada benim db.php dosyası, ama tamamen boş db.php yaparken dürüst ben aynı hatayı alıyorum. Ve ben doğru tasarruf ediyorum.

<?php
session_start();
mysql_connect("localhost", "mydatabase", "mypassword");
mysql_select_db("ratherda_jetpackfandango");

function user_login ($username, $password)
{
  //take the username and prevent SQL injections
  //$username = mysql_real_escape_string($username);

  //begin the query
  $sql = mysql_query("SELECT * FROM user WHERE username = 'username' AND password = 'password' LIMIT 1");

  //check to see how many rows were returned
  $rows = mysql_num_rows($sql);

  if ($rows<=0 )
  {
    echo "Incorrect username/password";
  }
  else
  {
    //have them logged in
    $_SESSION['username'] = $username;
  }    
}
?>

6 Cevap

Sen orada izin yok db.php thats bir session_start var. Bu blah.php yılında ilk satır olmalıdır.

<?php

session_start();

require_once("db.php");

Lütfen db.php dosyayı göndermek, sorun olduğu açıktır. Beklenmedik $ uç hatalar genellikle eksik kaşlı ayraç bir sonucudur, bu nedenle bu dosyayı kontrol edin.

if (mysql_num_rows ($ s> 0))

karşı

if (mysql_num_rows ($ s)> 0)

Php $end hataları genellikle bir yerde bir eksik } ayracı anlamına gelir.

Belki blah.php dosya başka blahblah.php dosyadan dahil, ve hata var mı?

Eğer dahil olsun senin db.php olduğuna emin misin? Yerine dahil olsun yere php-yolları başka db.php olabilir mi? Bu kontrol etmenin bir yolu daha benzersiz bir şey için dosyayı yeniden adlandırmak için.