Nasıl bir bağlantı ile veri gönderebilirim

5 Cevap php

Ben belli bir sokakta her evin sakinleri tutan bir veritabanı var. Ben 'post' kullanarak ev numarasını verildiğinde bir bireysel ev ve sakinleri görüntüleyebilen bir 'ev görünümü' php web sayfası var. Ben de evlerin bir listesini veren bir 'sokak görünümü' web sayfası var. Eğer evin görünümüne bağlantı ve her biri için bir form açmadan aynı anda ev numarası yayınlayacağız sokak görünümü bağlantıları olabilir ne bilmek istiyorum?

Selamlar

5 Cevap

Ben her evin kendi tablosunda saklanır ve bir 'id' alanını, örneğin evin kimliği vardır varsayalım. Peki ne zaman evlerin içinden ve bunları görüntülemek size döngü, böyle bir şey yapabilirsiniz:

<a href="house.php?id=<?php echo $house_id;?>">
  <?php echo $house_name;?>
</a>

Sonra house.php, sen $_GET['id'], is_numeric() kullanarak doğrulamak ve daha sonra bilgi ekranı kullanarak evin kimliği almak istiyorum.

Yerine GET POST kullanarak veri aktarmak istiyorsanız, bu gibi, PHP ve JavaScript bir arada kullanarak bunu yapabilirsiniz:

function formSubmit(house_number)
{
  document.forms[0].house_number.value = house_number;
  document.forms[0].submit();
}

Sonra PHP Eğer ev numaraları döngü, ve bu gibi JavaScript işlevine bağlantıları oluşturabilir:

<form action="house.php" method="POST">
<input type="hidden" name="house_number" value="-1">

<?php
foreach ($houses as $id => name)
{
    echo "<a href=\"javascript:formSubmit($id);\">$name</a>\n";
}
?>
</form>

Bu şekilde sadece kimin gizli değişken (ler) hangi tıklayınız link göre modifiye olsun bir form var. Sonra JavasScript formu gönderir.

Bu eski bir konu ama ben en doğrudan çözüm bir çapa-bağlantısı gibi geleneksel formu görünmesi için CSS kullanmak olduğunu düşünüyorum genelinde sadece durumda herkes geliyor.

'= Değer bir giriş / metin satırını ayarlar:' none Ekranda 'aslında o style = ile bir form oluşturur - @ ben size bir link ile bir yazı göndermek için php ve javascript kullanmak doğru olduğunu, ancak js ne sormak sağlar sonra bir şey 've gönderir.

ancak bir form yaparak tüm bu atlayabilirsiniz. ayarı style = 'display: none' giriş / metin hatları (yukarıdaki gibi değil formun kendisi) ve daha sonra düğme normal bir link gibi görünmesi için CSS kullanarak.

Burada bir örnek i kullanıyoruz:

PHP Sınıf

public function styleButton($style,$text){
    $html_str = "<form id='view_form' action='".$_SERVER['REQUEST_URI']."' method='post' >";
    $html_str .= "<input style='display:none;' name='list_style' type='text' value='".$style."' >";
    $html_str .= "<input id='view_button' type='submit' value='".$text."' >";
    $html_str .= "</form>";
    return $html_str;
}

Then in the CSS id="view_form" set "display:inline;" and in the CSS id="view_button" set to something like: "background:none;border:none;color:#fff;cursor:pointer"

Sen <a href="some_script.php">some_script</a> tarafından POST HTTP İstekleri yapamaz

Sadece açmak için house.php, sen $house = $_POST['houseVar'] sahip olduğu içinde bulmak ve değiştirmek için:

isset($_POST['houseVar']) ? $house = $_POST['houseVar'] : $house = $_GET['houseVar']

Ve bunun gibi streeview.php yapmak bağlantıları:

<a href="house.php?houseVar=$houseNum"></a>

Ya da başka bir şey. Ben sadece dosyaları ve ne içine bilmiyorum.

Ben sadece bir sonraki sayfaya gerekli bilgileri geçmek için sorgu dizesi bir değer kullanabilirsiniz.