v2.5.2
Giriş yap

SEO URL Şeklinde GET Göndermek

redline
1,074 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Merhaba dostlar.

<form action="islem.php" method="GET">
  <select name="isim">
    <option value="riza">Rıza</option>
    <option value="kemalettin">Kemalettin</option>
    <option value="asli">Aslı</option>
    <option value="irem">İrem</option>
  </select>
  <select name="sehir">
    <option value="kastamonu">Kastamonu</option>
    <option value="adana">Adana</option>
    <option value="mugla">Muğla</option>
  </select>
  <select name="meslek">
    <option value="tekstil">Tekstil</option>
    <option value="otomotiv">Otomotiv</option>
    <option value="mobilya">Mobilya</option>
  </select>
  <input type="submit" value="Gönder">
</form>

Örnekte bulunan formu gönderdiğimizde aşağıdaki gibi bir URL yapısı ile karşılaşıyoruz.

islem.php?isim=asli&sehir=mugla&meslek=tekstil

Bunu nasıl aşağıdaki örnekteki gibi gönderebiliriz;

islem.php/asli/mugla/tekstil

Cevap yaz
Cevaplar (4)
tayfunerbilen
1627 gün önce

yani burada böyle yaparsan sırası çok önemli olacak, dilersen tek tek elle alıp url birleştirip gönderebilirsin. Örneğin;

<form action="islem.php" onsubmit="return false" method="GET">
  <select name="isim">
    <option value="riza">Rıza</option>
    <option value="kemalettin">Kemalettin</option>
    <option value="asli">Aslı</option>
    <option value="irem">İrem</option>
  </select>
  <select name="sehir">
    <option value="kastamonu">Kastamonu</option>
    <option value="adana">Adana</option>
    <option value="mugla">Muğla</option>
  </select>
  <select name="meslek">
    <option value="tekstil">Tekstil</option>
    <option value="otomotiv">Otomotiv</option>
    <option value="mobilya">Mobilya</option>
  </select>
  <input type="submit" id="submit-btn" value="Gönder">
</form>
<script>
    $('#submit-btn').on('click', function(e){
        var isim = $('select[name="isim"]').val(),
            sehir = $('select[name="sehir"]').val(),
            meslek = $('select[name="meslek"]').val();
        window.location.href = `http://siteadi.com/islem.php/${isim}/${sehir}/${meslek}`;
        e.preventDefault();
    });
</script>

ya da formdaki tüm elemanları alıp dinamik olarak yapmak istersen şöyle yapabilirsin;

$('#submit-btn').on('click', function(e){
	var data = $('form').serialize();
	data = data.split('&').map((val, key) => {
		return val.split('=')[1];
	});
	window.location.href = 'http://siteadi.com/islem.php/' + data.join('/');
	e.preventDefault();
});
redline
1626 gün önce

@tayfunerbilen Teşekkür ederim Tayfun hocam. :)

redline
1627 gün önce

@burak hocam dediğin gibi htaccess ile oluşturduğum URL yapısına göre aktarmak istiyorum.

Javascript ile nasıl yapabilirim bunu?

burak
1627 gün önce

Senin tam olarak istediğin sanırım form doldurup bir sayfaya yönlendirmek ve bunu htaccess ile ayarladığın URL yapısına uygun göndermek istiyorsun.
Eğer ihtiyacın bu yönde ise <strong>formu submit etmeden Javascript ile form elemanlarında ki değerleri alıp istediğin URL yapısını oluşturup redirect ettirebilirsin. </strong>

Formu o şekilde göndermek istemenin başka bir amacı varsa direkt ona nasıl ulaşabilirsin yardımcı olmak isterim. Sorunun öz cevabına gelecek olursakta FORM olayında POST ve GET kullanabilirsin.
Eğer GET kullanırsan ve customize etmeden direkt gönderirsen de islem.php?isim=asli&sehir=mugla&meslek=tekstil bu şekilde serialize edilmiş halini alırsın.