• 22-09-2015, 23:24:40
    #1
    <?php
    	$email = $_POST['email'];
    	$sifre = $_POST['password'];
    	$ad = $_POST['ad'];
    	$cep = $_POST['cep'];
    	
    	$result = mysqli_query($conn, "SELECT COUNT(*) FROM uye WHERE email='" . $email . "'")
        $row = mysqli_fetch_assoc($result);   
        if ($row['COUNT(*)'] == 0) { 
        echo "email already exists";
    	}
    	else
    	{
    	$sql2 = "INSERT INTO uye (email,sifre,ad,cep) VALUES ('$email','$sifre','$ad','$cep')";
    	if ($conn->query($sql2) === TRUE) {
        echo "New record created successfully";
    	} else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    	}
    	}
    ?>
    Birkaç saattir bunda takıldım. Netten baktığım kadarıyla bu kadar yazabildim. İnat etmeyi bırakıp burada sormaya karar verdim

    Parse error: syntax error, unexpected '$row' (T_VARIABLE) in C:\php5\htdocs\kayit.php on line 11

    Böyle bir hata alıyorum. Veritabanında email adresi var mı diye kontrol ettirip varsa zaten kayıtlı yoksa kayıt et diyeceğim. Bir türlü yapamadım. Teşekkürler.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 23:24:40 -->-> Daha önceki mesaj 22:24:08 --

    <?php
    	$email = $_POST['email'];
    	$sifre = $_POST['password'];
    	$ad = $_POST['ad'];
    	$cep = $_POST['cep'];
    	
    	if ($result = mysqli_query($conn, "SELECT email FROM uye WHERE email='$email'")) {
    
        $row_cnt = mysqli_num_rows($result);
    
        if ($row_cnt > 0){
    		echo "Bu Email adresi zaten kayıtlı";
    	}
    	else
    	{
    		
    	$sql2 = "INSERT INTO uye (email,sifre,ad,cep) VALUES ('$email','$sifre','$ad','$cep')";
    	if ($conn->query($sql2) === TRUE) {
        echo "New record created successfully";
    	} else {
        echo "Error: " . $sql2 . "<br>" . $conn->error;
    	}
    		
    	}
    	    
    }
    	
    
    	
    	
    ?>
    Böyle çözdüm sorguyu neden if içine almış orasını anlamadım. Ben de içine if if yazdım oldu. 4 saatte çözdüm
    • ahmet007
    ahmet007 bunu beğendi.
    1 kişi bunu beğendi.
  • 23-09-2015, 00:44:24
    #2
    Koduna bakmadım ama mail kontrolünü basit yoldan böyle yapabilirsin. Bunu da denemedim ama mantık bu.
    Edit: Hatta num rows'a bile gerek yok direk çekerken satır sayısını çekip kodu azaltabilirsin.

    $mail = @$_POST['mail'];
    
    $control = mysql_query("select * from uyeler where mail='$mail'");
    $controlSatir = mysql_num_rows($control);
    if(controlSatir == '0'){
    // isleme devam et
    }else{
    // bu mail zaten var.
    }
  • 23-09-2015, 02:34:17
    #3
    tşkler denicem...
  • 23-09-2015, 02:56:33
    #4
    kodunuz şöyle olabilirdi
    ***$email = $_POST['email'];
    ***$sifre = $_POST['password'];
    ***$ad = $_POST['ad'];
    ***$cep = $_POST['cep'];
    ****
    ***$result = mysqli_query($conn, "SELECT COUNT(*) as miktar FROM uye WHERE email='" . $email . "'")
    ****$row = mysqli_fetch_assoc($result);** 
    ****if ($row['miktar'] == 0) { 
    ****echo "email already exists";
    ***}
    ***else
    ***{
    ***$sql2 = "INSERT INTO uye (email,sifre,ad,cep) VALUES ('$email','$sifre','$ad','$cep')";
    ***if ($conn->query($sql2) === TRUE) {
    ****echo "New record created successfully";
    ***} else {
    ****echo "Error: " . $sql . "<br>" . $conn->error;
    ***}
    ***}
  • 23-09-2015, 05:20:50
    #5
    Hocam 7.satırda ; koymadığınızdan olabilir mi ?