• 16-11-2013, 02:35:37
    #1
    	<?php
    	echo "<form action='/dosya' method='POST'>Adres: <input type='text' name='icerikX' value='icerigi giriniz'><input type='submit' value='Gönder'></form>";
    	$icerikX = $_POST["icerikX"];
    	$varmi = mysql_num_rows(mysql_query("SELECT * FROM icerikler WHERE icerikX='$icerikX' "));
    	if($varmi == 0)
    	{
    	$kaydet = mysql_query("INSERT into icerikler (icerikX) VALUES ('$icerikX')");
    	echo "{$icerikX} eklendi ! </br>";
    		}
    		else
    		{
    			echo "{$icerikX} daha önceden eklenmiş ! </br>";
    			}
    ?>
    Kod bu arkadaşlar. Benim isteğim 2 tane.
    Birincisi form ile girilen icerikler 11 karakter olsun istiyorum. ne 10 karakter girilebilsin ne 12. Birde space kullanımı deaktif olsun yani 11 tane boşluk yazıp gönderilmesin.
    İkincisi ise ilk sayfa açıldığında form daha gönderilmeden eklendi yazıyor doğal olarak. Oraya nasıl 2. bir if yazabilirim. Yardımcı olursanız çok sevinirim.
  • 16-11-2013, 10:36:59
    #2
        echo "<form action='/dosya' method='POST'>Adres: <input type='text' name='icerikX' value='icerigi giriniz'><input type='submit' value='Gönder'></form>"; 
        // Formdan veri gelirse ve girilen değer sadece 10 hane ise
    	if(isset($_POST["icerikX"]) && strlen($_POST["icerikX"])==10){	
    		$icerikX = $_POST["icerikX"]; 
    		$varmi = mysql_num_rows(mysql_query("SELECT * FROM icerikler WHERE icerikX='$icerikX' ")); 
    		if($varmi == 0) 
    		{ 
    		$kaydet = mysql_query("INSERT into icerikler (icerikX) VALUES ('$icerikX')"); 
    		echo "{$icerikX} eklendi ! </br>"; 
    		}else{ 
    		   echo "{$icerikX} daha önceden eklenmiş ! </br>"; 
    		} 
    	}
    Bu işini görecektir. Ama POST verileri direk böle alman doğru değil sql injection oluşuyor.

    mysql_real_escape_string($_POST["icerikX"]); şöylede kullanabilirsin.
  • 16-11-2013, 10:38:18
    #3
    Html Sayfası;
    <form action='/dosya' method='POST'>
    	Adres: <input type='text' name='icerikX' value='icerigi giriniz'>
    	<input type='submit' value='Gönder'>
    </form>
    Post edilen php sayfası;

    		if(isset($_POST["icerikX"])){
    			$icerikX = str_replace(' ', '', $_POST["icerikX"]);
    			if(strlen(trim($icerikX)) == '11'){
    				$varmi = mysql_num_rows(mysql_query("SELECT * FROM icerikler WHERE icerikX='$icerikX' "));
    					if($varmi == 0){ 
    					$kaydet = mysql_query("INSERT into icerikler (icerikX) VALUES ('$icerikX')"); 
    					echo "{$icerikX} eklendi ! </br>"; 
    						}else{ 
    					echo "{$icerikX} daha önceden eklenmiş ! </br>"; 
    				} 					
    			} 
    		}
    kodları denemedim yanlışlık olabilir
  • 16-11-2013, 11:45:45
    #4
    msgr adlı üyeden alıntı: mesajı görüntüle
    Html Sayfası;
    <form action='/dosya' method='POST'>
    	Adres: <input type='text' name='icerikX' value='icerigi giriniz'>
    	<input type='submit' value='Gönder'>
    </form>
    Post edilen php sayfası;

    		if(isset($_POST["icerikX"])){
    			$icerikX = str_replace(' ', '', $_POST["icerikX"]);
    			if(strlen(trim($icerikX)) == '11'){
    				$varmi = mysql_num_rows(mysql_query("SELECT * FROM icerikler WHERE icerikX='$icerikX' "));
    					if($varmi == 0){ 
    					$kaydet = mysql_query("INSERT into icerikler (icerikX) VALUES ('$icerikX')"); 
    					echo "{$icerikX} eklendi ! </br>"; 
    						}else{ 
    					echo "{$icerikX} daha önceden eklenmiş ! </br>"; 
    				} 					
    			} 
    		}
    kodları denemedim yanlışlık olabilir
    hacspectrum adlı üyeden alıntı: mesajı görüntüle
        echo "<form action='/dosya' method='POST'>Adres: <input type='text' name='icerikX' value='icerigi giriniz'><input type='submit' value='Gönder'></form>"; 
        // Formdan veri gelirse ve girilen değer sadece 10 hane ise
    	if(isset($_POST["icerikX"]) && strlen($_POST["icerikX"])==10){	
    		$icerikX = $_POST["icerikX"]; 
    		$varmi = mysql_num_rows(mysql_query("SELECT * FROM icerikler WHERE icerikX='$icerikX' ")); 
    		if($varmi == 0) 
    		{ 
    		$kaydet = mysql_query("INSERT into icerikler (icerikX) VALUES ('$icerikX')"); 
    		echo "{$icerikX} eklendi ! </br>"; 
    		}else{ 
    		   echo "{$icerikX} daha önceden eklenmiş ! </br>"; 
    		} 
    	}
    Bu işini görecektir. Ama POST verileri direk böle alman doğru değil sql injection oluşuyor.

    mysql_real_escape_string($_POST["icerikX"]); şöylede kullanabilirsin.

    merhabalar cevaplar için çok teşekkür ederim. güvenlik açığı sıkıntı oluşturur mu? açıkçası phpde ilk defa kod yazmaya çalışıyorum pek anlamıyorum.

    birde fazla olacak ama 11 haneden farklı bir hane girince hata mesajı gösterecek mi bu kod.
  • 16-11-2013, 11:48:18
    #5
    if(isset($_POST["icerikX"]) && strlen($_POST["icerikX"])==11){

    }else echo 'fazla veri girişi yapıldı';

    şeklinde güncelleyebilirsin. post verisi alırken mysql_real_escape_string($_POST["icerikX"]); bu şekilde kullanırsan risk biraz daha azalır.
  • 16-11-2013, 12:24:39
    #6
    hacspectrum adlı üyeden alıntı: mesajı görüntüle
    if(isset($_POST["icerikX"]) && strlen($_POST["icerikX"])==11){

    }else echo 'fazla veri girişi yapıldı';

    şeklinde güncelleyebilirsin. post verisi alırken mysql_real_escape_string($_POST["icerikX"]); bu şekilde kullanırsan risk biraz daha azalır.
    Hocam çok sağolun sorunsuz çalışıyor ama ilk if'in elsesini sanırım yanlış yazıyorum.
    Çünkü siteye girer girmez "Girdiğiniz değer () hatalı." diyor. Acaba post edilen /gonder ile aynı dosya olduğu için olabilir mi?

    <?php
    						echo "<form action='/gonder' method='POST'><input class='gonder' type='text' name='icerikX' value='hTPbn9pJIPl' onclick=this.value='';><input class='buton' type='submit' value='Gönder'></form>";
    							$icerikX = str_replace(' ', '', $_POST["icerikX"]); 
    							if(isset($_POST["icerikX"]) && strlen($_POST["icerikX"])==11)
    							{ 
    								
    								if(strlen(trim($icerikX)) == '11')
    								{ 
    								$varmi = mysql_num_rows(mysql_query("SELECT * FROM icerikler WHERE icerikX='$icerikX' ")); 
    								if($varmi == 0)
    									{  
    									$kaydet = mysql_query("INSERT into icerikler (icerikX, user, populer) VALUES ('$icerikX','site',1)");  
    									echo "{$icerikX} eklendi ! </br>";  
    									}
    									else{  
    										echo "{$icerikX} daha önceden eklenmiş ! </br>";  
    										}                      
    								}  
    							}
    							else {
    							echo "Girdiğiniz değer ({$icerikX}) hatalı. ";
    							}
    				?>
  • 16-11-2013, 13:02:06
    #7
     <?php 
     
    	echo "<form action='/gonder' method='POST'><input class='gonder' type='text' name='icerikX' value='hTPbn9pJIPl' onclick=this.value='';><input class='buton' type='submit' value='Gönder'></form>"; 
    	$icerikX = str_replace(' ', '', $_POST["icerikX"]);  
    	// İcerikX Set ise
    	if(isset($_POST["icerikX"]))
    	{
    		// İCerikX 11 Hane İse
    		if(strlen($_POST["icerikX"])==11) 
    		{  
    			$varmi = mysql_num_rows(mysql_query("SELECT * FROM icerikler WHERE icerikX='$icerikX' "));  
    			if($varmi == 0) 
    				{   
    				$kaydet = mysql_query("INSERT into icerikler (icerikX, user, populer) VALUES ('$icerikX','site',1)");   
    				echo "{$icerikX} eklendi ! </br>";   
    				} 
    				else{   
    					echo "{$icerikX} daha önceden eklenmiş ! </br>";   
    					}                       									  
    		}else { 
    		// İCerikx 11 Hane Değilse hata verir
    		echo "Girdiğiniz değer ({$icerikX}) hatalı. "; 
    		}
    	}

    bu işini görecektir.
  • 16-11-2013, 13:18:36
    #8
    Hocam çok sağolun allah razı olsun.