FORUM HOSTINGSITENIZ

Genel => Programlama => PHP => Konuyu başlatan: HS-Abdullah - Mayıs 08, 2011, 10:42:36 ÖÖ

Başlık: PHP Çekiliş - Kura Scripti
Gönderen: HS-Abdullah - Mayıs 08, 2011, 10:42:36 ÖÖ
Merhaba Arkadaşlar,

Başlıkta belirttiğim gibi ilgili script çekiliş vb işlerde kullanılabilir. İçerik:

1) Random PHP
İçerisinde 3 adet özel tanımlı fonksiyon bulunmaktadır.
-temiz_sql();
-filitre();
Bu ikisi görev olarak birleştirilmiş fonksiyonlardır. PHP nin son sürümlerinde mysql_real_escape_string kullanımı için mysql oturumunun başlaması gerekmektedir. Bu sebepten ötürü şayet sayfanızda mysql oturumu yoksa muhtemelen hata alacaksınız. Şayet mysql oturumu yoksa ve hata alıyorsanız

Bulunuz:


function filitre ($x)
{
return mysql_real_escape_string(temiz_sql(trim(htmlspecialchars(strip_tags($x)))));
}


Değiştiriniz:


function filitre ($x)
{
return temiz_sql(trim(htmlspecialchars(strip_tags($x))));
}


-random();
Asıl çekilişin yapıldığı fonksiyondur. $returnvalues dizisi global olarak tanımlanmıştır. Şayet fonksiyon başka türlü bir scriptte kullanılırsa çekilişte dönen değerler $returnvalues dizisine kayıtlıdır.

2) Exec PHP
Fonksiyonun çalıştırıldığı sayfadır.Post.php de scripti yazarken textarea ismine name[] verdik. Bu sebepten dolayı exec php de random("name"); şeklinde kullanım yaptık.

3) Post PHP
2 Aşamadan oluşmaktadır:
İlk aşamada kaç adet seçenek oluşturulacağı ve sonuçların nasıl kaçlı gruplandırılacağı belirlenmektedir. Misal ,seçenekleriniz sırasıyla x y z t ile ise,  grup değerine 2; seçenek değerine 4 girerseniz:
y x
t z
gibi bir sonuç döndürecektir. 1 girseydiniz alt altta 4 farklı değer dönecekti.

İkinci aşamada ise adetini girdiğiniz seçeneklerin neler oluduğunu tayin edersiniz.

random.php

<?php
/*
Author= HOSTINGSITENIZ.NET NETWORK SERVICE
System= MIXER
$returnvalues gives new values
*/
function temiz_sql($sql)
{
return preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|--|\\\\)/"),"",$sql);
}
function filitre ($x)
{
return mysql_real_escape_string(temiz_sql(trim(htmlspecialchars(strip_tags($x)))));
}
function random ($textboxname)
{
global $returnvalues;
$sayi=count($_POST[$textboxname]);
$sifir=0;
while($sifir<$sayi)
{
$values[$sifir]=filitre($_POST[$textboxname][$sifir]);
$sifir++;
}
$count=count($values);
$temel=0;
while($temel<$count){
$ncount=count($values);
$x=rand();
$arrayid=$x%$ncount;
$returnvalues[$temel]=$values[$arrayid]; // New Values
$values[$arrayid]="";
$basic=0;
$ncountum=$ncount-1;
while($basic<$ncount)
{
if($values[$basic]!="")
{
$yenidizi=$yenidizi.$values[$basic]."[-HSNET-]";
}
$basic++;
}
  $yenidizi= preg_replace("@\[-HSNET-\]$@","",$yenidizi);
$values=explode("[-HSNET-]",$yenidizi);
unset($yenidizi);
$temel++;
}
}
?>



Exec.php

<?php
require_once("random.php");
random("name");
if(!is_numeric($_POST["grupla"])){die("ACCESS DENIED");}
$grup=trim(htmlspecialchars(strip_tags($_POST["grupla"])));
$sayi=count($returnvalues);
$sayi=ceil($sayi/$grup);
$point=0;
echo '<table  border="0" cellspacing="0" cellpadding="0" >';
while($point<$sayi)
{
$play=0;
$renks=$point%2;
if($renks==0){$renk="#EEEEEE";}
if($renks==1){$renk="#FFFFFF";}
echo ' <tr align="center"  bgcolor="'.$renk.'">';
while($play<$grup)
{
$x=$point*$grup;
$x=$x+$play;
    echo "<td style=\"padding:15px;\">".$returnvalues[$x]."</td>";
$play++;
}
echo "</tr>";
$point++;
}
echo'</table>';

?>


Post.php

<?php
echo'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';

$adet= htmlspecialchars(strip_tags($_POST["adet"]));
if(!is_numeric($_POST["adet"])){unset($_POST["adet"]);}
if($adet!=""){$screen=2;} if($adet==""){$screen=1;}

if($screen==1){?>
<form id="form1" name="form1" method="post" action="post.php">
  <p>Adet
    <input name="adet" type="text" id="adet" size="10" />
</p>
  <p>Grup
    <input name="grupla" type="text" id="grupla" size="10" />
  </p>
  <p>   
    <input type="submit" name="button2" id="button2" value="Oluştur" />
      </p>
</form>
<?php } ?>
<?php if($screen==2){
echo'<form id="form1" name="form1" method="post" action="exec.php">';
  $sayi=0;
  while($sayi<$adet){
 echo' <label>
  <input type="text" name="name[]" id="name[]" />
  </label>
  <p>
';
$sayi++;
}
echo'<label>
<input type="hidden" name="grupla" id="button" value="'.$_POST["grupla"].'" />
  <input type="submit" name="button" id="button" value="Gönder" />
  </label></form>';} ?>



Not 1) Kaynak kodları verilen dosyalar hazır halde ektedir.
Not 2) Kaynak gösterilerek alıntı yapılabilir.


Saygılarımla...
Abdullah ÇINAR