Gönderilmesi Form sayfası için gerekli olan sabit GET bilgilerini değiştirir

1 Cevap php

Ben php öğrenme yaşıyorum ve ben her yerde google'dan söylemek lazım ve ben şaşırıp: (

Benim soru nasıl yeni değişkenler sayfadaki önceki değişkenlere ilave alabilirsiniz, diğer bir deyişle, nedir?

Bu varlık düşünün www.mysite.com/getvartest.php?orgvar=12345

ama bu formu gönderdikten sonra gideceğim

www.mysite.com/getvartest.php?varselection=selection1

Ne beklediğiniz olacaktır:

Bu varlık düşünün www.mysite.com/getvartest.php?orgvar=12345&varselection=selection1

Bunu nasıl çözerdi?

<p>Testing two ore more variables</p>

<form action="getvartest.php?orgvar=12345" method="get">
<select name="varselection">
<option value="selection1">selection1</option>
<option value="selection2">selection2</option>
</select>
<input type="submit" />
</form>


<?php
@$originalvar = $_GET['orgvar'];
@$varselection = $_GET['varselection'];

if($originalvar&&$varselection)
echo "Testing original variable $originalvar. Testing second passthrough variable through here: $varselection";


?>

1 Cevap

Bunun yerine zaten doldurulmuş sorgu dizesinin bir parçası olan action URL göndererek, sen sabit istediğiniz değişkenlerin değerlerini tutmak için gizli bir giriş alanını kullanın. Eğer PHP komut dosyası böyle bir form oluşturmak için alabilirsiniz bakın:

<form action="getvartest.php" method="get">
  <input type="hidden" name="orgvar" value="12345" />
  <select name="varselection">
    <option value="selection1">selection1</option>
    <option value="selection2">selection2</option>
  </select>
  <input type="submit" />
</form>

Belki bir şey gibi:

<input type="hidden" name="orgvar" value="<?= htmlspecialchars($_GET['orgvar']) ?>" />

(htmlspecialchars() çağrı, & < gibi karakterleri kaçar, ve " ihtimale Bunlardan herhangi {[(4 de vardır )]}.)

Her sorgu parametreyi kaydetmek istiyorsa Veya gibi genel bir döngü kullanabilirsiniz:

<?php foreach ($_GET as $name => $value) { ?>
    <input type="hidden" name="<?= htmlspecialchars($name)  ?>"
                        value="<?= htmlspecialchars($value) ?>" /> 
<?php } ?>