Arama butonu
Bu konudaki kullanıcılar: 3 misafir, 2 mobil kullanıcı
4
Cevap
445
Tıklama
0
Öne Çıkarma
PHP Diziler ile ilgili bir sorum olucaktı.

H hacckteam Konu Sahibi
10 yıl (390 mesaj)
Aşağıda verdiğim kod ile ilgili olarak şöyle bir sorum olucak.
Dışarıdan text'e girilen bilgiyi bu sayfaya GEt methodu ile çektim ve bir dizi tanımladım.Dizi içerisinde mail uzantılarını yazdım.Mail uzantı kontrolü yaptırmak istiyorum.
Kod çalışıyor ama ufak bir kısım kaldı.Ben mail uzantısını ilgili text'e yazdığımda array içerisinde var ise AJAx methodu ile ekrana yazıyor ve bana gösteriyor.Benim istediğim.İse hotmail.com yazdığında hotmail.com uyarı olarak çıkıyor.Ama htmail.com yazdığında bulunamadı veya uzantıların tamamı yerine harf kontrolü yaparak htmail.com dediğinde direkt hotmail.com uzantısını çıkarmasını istiyorum.Yazmış olduğum bu koda nasıl bir kod yazmalıyımki bunu sağlamam için.
Yardımınız için teşekkürler.
quote:


<?php
$array = array(0=>"hotmail.com",1=>"gmail.com",2=>"yahoo.com",3=>"mynet.com",4=>"mail.com");
$zero = $array[0];
$one = $array[1];
$two = $array[2];
$three = $array[3];
$four = $array[4];
$q = $_GET["q"];

if($q == $zero){
$hint="";
for($i=0; $i<count($array); $i++){
if (strtolower($q)==strtolower(substr($array[$i],0,strlen($q)))){
if ($hint==""){
$hint=$array[$i];}
else{
$hint=$hint." , ".$array[$i];}
}
}
}
else if($q == $one){
$hint="";
for($i=0; $i<count($array); $i++){
if (strtolower($q)==strtolower(substr($array[$i],0,strlen($q)))){
if ($hint==""){
$hint=$array[$i];}
else{
$hint=$hint." , ".$array[$i];}
}
}
}
else if($q == $two){
$hint="";
for($i=0; $i<count($array); $i++){
if (strtolower($q)==strtolower(substr($array[$i],0,strlen($q)))){
if ($hint==""){
$hint=$array[$i];}
else{
$hint=$hint." , ".$array[$i];}
}
}
}
else if($q == $three){
$hint="";
for($i=0; $i<count($array); $i++){
if (strtolower($q)==strtolower(substr($array[$i],0,strlen($q)))){
if ($hint==""){
$hint=$array[$i];}
else{
$hint=$hint." , ".$array[$i];}
}
}
}
else if($q == $four){
$hint="";
for($i=0; $i<count($array); $i++){
if (strtolower($q)==strtolower(substr($array[$i],0,strlen($q)))){
if ($hint==""){
$hint=$array[$i];}
else{
$hint=$hint." , ".$array[$i];}
}
}
}
else{
$hint="";
for($i=0; $i<count($array); $i++){
if (strtolower($q)==strtolower(substr($array[$i],0,strlen($q)))){
if ($hint==""){
$hint=$array[$i];}
else{
$hint=$hint." , ".$array[$i];}
}
}
}
if ($hint == "" || $hint == NULL){
$response="<b style='font-size:12px;'>".$zero.",".$one.",".$two.",".$three.",".$four."</b>";}
else{
$response="<b style='font-size:12px;'>".$hint."</b>";}
echo $response;
?>





< Bu mesaj bu kişi tarafından değiştirildi hacckteam -- 7 Aralık 2012; 16:19:38 >


Z zapdos93
10 yıl (291 mesaj)
http://www.codekodu.com/konu_Bir_metinde_Arama_Yapmak_strstr___kod_1684.html

Metin fonksiyonlarını incelemeni tavsiye ederim. Daha önce ihtiyacım olmadığı için pek ilgilenmemiştim bu konuyla ancak araştırırsan bu konuyla ilgili sorununu çözebileceğini düşünüyorum. Üstteki adreste bence tam senin istediğin gibi bir program var.





< Bu mesaj bu kişi tarafından değiştirildi zapdos93 -- 7 Aralık 2012; 16:02:08 >
Bu mesaja 1 cevap geldi.

H hacckteam Konu Sahibi
10 yıl (390 mesaj)
LİNKTEKİ ÖRNEKTE KULLANILAN strstr YANİ BİR DEĞİŞKENE ATANMIŞ CÜMLE İÇERİSİNDEN HERHANGİ BİR KELİMEYİ strstr($metin,"zor") ŞEKLİNDE YAZARAK BULUYOR.ZATEN BUNU DENEDİM BEN ÜSTADIM.DENEDİM DIŞARIDAN GİRİLEN GET METHODU İLE ALDIĞIM q DEĞERİNİ strstr($array, $q) ŞEKLİNDE YAZDIM AMA HATA VERDİ.


Bu mesaja 2 cevap geldi.

Z zapdos93
10 yıl (291 mesaj)
quote:

Orijinalden alıntı: hacckteam

LİNKTEKİ ÖRNEKTE KULLANILAN strstr YANİ BİR DEĞİŞKENE ATANMIŞ CÜMLE İÇERİSİNDEN HERHANGİ BİR KELİMEYİ strstr($metin,"zor") ŞEKLİNDE YAZARAK BULUYOR.ZATEN BUNU DENEDİM BEN ÜSTADIM.DENEDİM DIŞARIDAN GİRİLEN GET METHODU İLE ALDIĞIM q DEĞERİNİ strstr($array, $q) ŞEKLİNDE YAZDIM AMA HATA VERDİ.

Verecek tabiki.
Neden?

Çünkü $array'de tanımlı 5 farklı terim var. Ve sen istemişsin ki

strstr($array, $q)
$q=mutluemre93@gmail.com
// Örneğin $q'ya gelen değer bu olsun.

$array içerisinde $q geçen yazıyı bul. Program da arıyor. Arıyor ancak $array diye bir değişken tanımlamamışsın ki neyi arasın. Eğer $array[1] yazsaydın, bu değikende tanımlı olan gmail.com'un içerisinde mutluemre93@gmail.com'u arayacaktı. Ancak yine birşey bulamayacaktı. Çünkü gmail.com ifadesinin içerisinde mutluemre93@gmail.com diye bir ifade yok.

Eğer şu şekilde yazdırsaydın hiçbir sorun olmazdı:
strstr($q, $array[1])
strstr(burada metin, burada metin içerisinde aranacak olan kelime)

Seninle birlikte bende çalıştım. Bu kodlar üzerinden gidersen daha kolay anlayacağını düşünüyorum. Bu dosyaları notepad++ yardımıyla UTF-8 Bomsuz Olarak kayıt et.

Kolay gelsin.

a.php
quote:

<?php
header ("Content-Type: text/html; charset=UTF-8");
?>
<HTML>

<HEAD>

<TITLE>PHP de Formlar</TITLE>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">

</HEAD>

<BODY>

<FORM ACTION="b.php" METHOD="GET">

Adınız, Soyadınız: <INPUT TYPE="TEXT" NAME="adi">

<br>

Elektronik Adresiniz: <INPUT TYPE="TEXT" NAME="adres">

<br>

Başka: <INPUT TYPE="TEXT" NAME="baska">

<br>

<INPUT TYPE="SUBMIT" VALUE="Gönder Gitsin!"> <INPUT TYPE="RESET" VALUE="Vazgeç, Gönderme!">

</FORM>

</BODY>

</HTML>


b.php
quote:


<?php
header ("Content-Type: text/html; charset=UTF-8");

$adi = $_GET['adi'];
$adres = $_GET['adres'];
$baska = $_GET['baska'];

$array = array(0=>"hotmail.com",1=>"gmail.com",2=>"yahoo.com",3=>"mynet.com",4=>"mail.com");
$zero = $array[0];
$one = $array[1];
$two = $array[2];
$three = $array[3];
$four = $array[4];

echo "Adı: ";
echo $adi;
echo "<br>";
echo "Adres: ";
echo $adres;
echo "<br>";
echo "Başka: ";
echo $baska;
echo "<br>";

if ( strstr($adres, $one)){
echo "Bu bir gmail.com uzantısıdır.";
}else{
// Burayı boş bıraktım. Çünkü eğer gmail.com değil ise diğer sorguya geçmesi gerekir. Kullanıcının gmail olmadığını bilmesine gerek yok.
}


?>





< Bu mesaj bu kişi tarafından değiştirildi zapdos93 -- 7 Aralık 2012; 17:51:10 >
Bu mesaja 1 cevap geldi.

H hacckteam Konu Sahibi
10 yıl (390 mesaj)
CEVABIN İÇİN TEŞEKKÜRLER.
AMA SEN YAZANA KADAR ZATEN KENDİM AYNI ŞEKİLDE YAZDIM KODLARI.
İLGİN İÇİN TEŞEKKÜR EDERİM.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.