Lütfen giriş alanına formu bilgi teslim Passing?

6 Cevap php

Ben bir veritabanı üzerine bilgi derleyen basit bir giriş formu yazdık, ve ben gerekli alanları ile sorun yaşıyorum ...

Ben kullanıcı onun / onu önceki alanları ile geri orijinal forma girilen onu getirmek istiyorum gerekli bir alanı doldurmak için ihmal, eğer post yöntemi ile verileri işlemek için bir form kullanın.

Ben bilgi Nasıl bir giriş etiket geri geçmek için? Herhangi bir deli komut vermeden bunu yapmak için kolay bir yolu var mı? Ben oturumları ile başladı ama ben nasıl geri giriş alanına oturumunda saklanan bilgi koymak çok kullanıcı bilgi tüm yeniden yazmak zorunda değildir ... Ayrıca çerez oturumu üzerinden bunun için daha iyi olurdu hiçbir ipucu var fark?

Teşekkürler çocuklar,

Arthur

6 Cevap

Bir form göndermek, tüm bu değişkenleri $ _POST ['input_name'] ve yayınlanmıştır sayfasında mevcuttur adında bir global diziye sunulur. Ben oldukça hızlı bir şekilde yapıyorum ben, ne yapmak istediklerini kez bir sürü sadece bu giriş alanlarının değeri ilanıyla ne gibi aynı eşit hale edilir.

Örneğin biz istenen username alanı var ama formu nedense doğrulamak ve kendisine geri gönderdi vermedi Diyelim ki; biz onları tekrar girmek zorunda istemiyorum:

<input type="text" name="username" value="<?php print $_POST['username']; ?>" />

"Username" alanı zaten girilen bilgileri ihtiva edecektir ki, onlar ilk sayfasını yüklediğinizde orada hiçbir şey yok yani tabii, değer boş olacaktır, ama nedense geri nakleder eğer.

Hatta daha iyi formu geri göndermek yok gibi java script doğrulama, ama bu işi sadece iyi yapacağız!

Kullanıcı mesaj size tüm veri yana, bu değerler komut da mevcuttur. Yani metin alanlarının durumunda çok rahatlıkla kullanabilirsiniz, ama biraz daha fazla iş seçenekleri seçin, onay kutuları ve radyo düğmeleri için gereklidir:

<input id="myid" name="myid" type="text" 
   <?php echo !empty($_POST['myid'] ? "value=\"{$_POST['myid']}\"" ?> />

Radyo düğmeleri, seçenekleri seçin ve onay kutuları için, bunun yerine şu anda çıkış vardır giriş ve baskı selected="selected" ile karşılık görmek için değerini kontrol etmek zorunda.

Bu doğruluyoruz gelince de mümkün başarısızlıkları hakkında kullanıcıya erken geribildirim vermek için bir JavaScript doğrulama olabilir. Sadece birisi JavaScript istemci tarafında doğrulama atlayarak böylece, etkin veya JavaScript kullanarak gönderdiğinde sahip olmaması durumunda sunucu tarafında aynı doğrulama var unutmayın.

Bu en iyi yoldur, ancak bir "yeniden" sayfasına yönlendirmek ve POST değerleri kullanın veya varolan alanları reinput GET olabilir emin değilim. Bunun için ilk önce, doğrulamak gerekli alanlar ve herhangi bir eksik varsa, bu sayfaya yönlendirme. Daha sonra POST veya GET tüm değerleri doldurulur kullanıcı (ve eksik gerekli alanları zaten boş olacaktır) bu yüzden sadece döngü yoluyla ve verilen bilgi kadar yük olacaktır. Onlar yanlış bilgi verilir eğer Ayrıca, bu da eksik gerekli alanları işaretlemek için elle net sağlayacak verebilir o ve.

Eğer göndermeden önce veri iyi olduğunu biliyorum bu yüzden başka bir seçenek JS içinde doğrulama konur. Ancak, ben o ya da değil, güvenlik endişeleri varsa emin değilim.

Ben sonrası değer varsayılan değeri gösterebilirsiniz aksi ayarlanmış olup olmadığını, daha sonra giriş odağı olduğunda kaldırmak için jQuery biraz kullanabilirsiniz görmek için kontrol edin

<input type="text" name="first_name" id="first_name" value="<?php if(isset($_POST['myid'])) {   echo $_POST['myid'] } else { echo "Your Name" ?>"></input>

İşte metin kutusu odak zaman öntanımlıyı Adınız kaldıracak jQuery bulunuyor.

$(document).ready(
function(){
	$.fn.clearDefault = function() {
		return this.focus(function() {
			if( this.value == this.defaultValue ) {
				this.value = "";
			}
		}).blur(function() {
			if( !this.value.length ) {
				this.value = this.defaultValue;
			}
		});
	};
	// clear default textbox entries
	$("#first_name"). clearDefault();
}

);

<input type="text" name="username" value="<?php isset($_POST['username']) ? echo $_POST['username'] : null; ?>" />

cezası çalışacak