2016-04-07 13 views
0

Veritabanımdaki tüm şehirleri yazdırdığım şehirlerin adlarını aldığım ve her şehir için bir düğme yazdığım aşağıdaki kodla birlikte bir index.php dosyası var. Örnek: Benim veritabanında (Londra, New York ve San Francisco) şehirler olan ben olacak bir şey gibi:Farklı düğmeler için farklı bir oturum değişkeni nasıl atanır

Londra -> Düğme

New York -> Düğme

San Franciso - >

<?PHP 
    while($myrow = pg_fetch_assoc($result)) { 
    $nameofcity = $myrow[cityname]; 

    echo $nameofcity; 
    $_SESSION['variabletopass'] = $nameofcity; 
    echo'<form name"formname" method="post" action="results.php">'; 
    echo'<input type="submit" name="submit" value="See City">'; 
    echo'</form>'; 
    } 
?> 

Düğme

Sonra düğmesini tıklandığında açacak benim results.php var.

<html> 
<body> 
<?php 
$var_nameofcity = $_SESSION['variabletopass']; 
//Here I look in my database for info base on $var_nameofcity 
// something like select description from cities where city = $var_nameofcity 
//And I print the info 
echo $var_nameofcity; 
echo 'Here it goes the Picture of the city'; 
echo 'description'; 
?> 
</body> 
</html> 

Sorum şu:

$_SESSION['variabletopass'] = $nameofcity; 
    echo'<form name"formname" method="post" action="results.php">'; 
    echo'<input type="submit" name="submit" value="See City">'; 
    echo'</form>'; 

$ _ SESSION [ 'variabletopass'] öylesine önemli değil, sadece son vale almak için gidiyor hangi düğme bunu basın a While içinde olduğundan son şehrimi açacak (örneğin: San Francisco).

Bir tuşa basıldığında muhabir şehirle ilişkilendirilen değişken ($ _SESSION ['variabletopass'] = $ nameofcity;) nasıl yapılır? Formu göndermeden zaman bir indeks adında olarak

<input type="hidden" name="city" value="<?php echo $nameofcity; ?>" /> 

Sonra, o şehir küresel $ _POST kullanılabilir:

kadarını şeklinde gizli bir girişe şehir adını ayarlayın

cevap

0

teşekkür ederiz Açıkçası

<?php $nameofcity = $_POST['city']; ?> 

, komut dosyası enjeksiyon ve olası SQL Inject tutmaya $ _POSTed girişini okuyarak bazı güvenlik kontrolleri isteyeyim unutmayın: gizli girişi ile aynı en az iyon.

+0

Teşekkürler! Bu harika!!! Teşekkürler, aradığım çözüm. Sadece biraz fazla sorun yaşıyorum, girişi PHP ile yazdırmaya çalışıyorum ve sanırım yanlış bir şey yapıyorum: "echo" "; – Sam

+0

Ama eğer yaparsam: echo '' ';' o zaman – Sam

+0

çalışır, anladım: Nedeni "'farklı bir sırada olması gerekir: echo" "ve çalışır. TEŞEKKÜR – Sam

İlgili konular