2013-06-09 28 views
6

My Sorununa geçmek metin kutusu değerini olsun:PHP: daha sonra DEĞİŞKEN

Sonra Metinkutusu1 değerini almak Metinkutusu1 değeri TextBox2 göründü olacak başka bir sayfaya aktarmak istiyorum.

Aşağıda PHP benim kodları: Ben de aşağıdaki kodu ekleyin

<html> 
<body> 

<form name='form' method='post' action="testing2.php"> 

Name: <input type="text" name="name" id="name" ><br/> 

<input type="submit" name="submit" value="Submit"> 

</form> 
</body> 
</html> 

ve hatadır "Notice: Undefined index: adı"

<?php 
$name = $_GET['name']; 
echo $name; 
?> 

veya

<?php 
$name = $_POST['name']; 
echo $name; 
?> 
+0

'etrafına sarın if (isset ($ _ POST [ 'name']))' Eğer '$ _POST' değer için bakmak gerekir php kodunda böylece, yöntem' post' belirttiğiniz senin formda –

+0

dizi, böylece '$ _POST [ 'isim']' – Havelock

+0

Ve Dave Chen tavsiye edildiği gibi 'kullanın isset'' kullanmayın (eğer! Bunun yerine boş ($ _ POST ['name']) '. –

cevap

10

adını almak için aşağıdaki kodu kullanabilirsiniz Bunu yapmadan önce, $ adının yalnızca geçerli karakterler içerdiğini doğrulamak için normal ifadeleri kullandığınızdan emin olun, örneğin:

+0

Geçerli karakterler için bilgi için teşekkürler. Bunu gelecekte de kullanabilirim :) ve çok işe yarıyor! –

+0

Rica ederim. –

+0

Bu cevap güzel, yeni başlayanlara web sitelerini daha güvenli hale getirmeye teşvik ediyor! –

1

Verileri gönderiyorsunuz, bu yüzden $ _POST olmalı. Fakat 'isim' kullanılacak en iyi isim değil. Yalnızca IMO karışıklığına neden olacaktır.

+0

Oh. Üzgünüz ... Bilgi için teşekkürler :) –

+0

'+ 1' - bir noktanız var. –

3

Ben isset Bu, herhangi bir hata veya uyarı olması önleyecektir gerçek olacak, böylece formu veri girişi olmadan sunuldu gibi, isset ve boş değil değeri için kontrol edilmesi gereken gerektiğini düşünüyorum.

if((isset($_POST['name'])) && !empty($_POST['name'])) 
{ 
    $name = $_POST['name']; //note i used $_POST since you have a post form **method='post'** 
    echo $name; 
} 
+0

' boş(), değişken mevcut değilse bir uyarı üretmez. Bu yüzden sadece "boş" ya da sadece "isset" e ihtiyacınız vardır. –

+1

@DaveChen Bu başka bir konu - OP öğreticiler içine dalmalı ve o kazandığı gibi öğrenmelidir. ;-) Bu denklemde, "$ earns =" ​​Bilgi "; –

+0

Oh. çok teşekkür ederim .. işe yarıyor! Son sorum var ... $ name değişkenini bir metin kutusuna nasıl aktarabilirim? –

0

testing2.php İçerisinde yayından tüm verileri içeren $_POST dizi yazdırmalısınız. Ayrıca, $_POST['name'] mevcut olmalıdır. Daha fazla bilgi için php.net üzerinde $_POST kontrol edin.

Name: <input type="text" name="name" id="name" value="<?php echo $name; ?>"><br/> 

Ancak: Bir sonraki sayfa oluşturduğunuzda

if (! empty($_POST['name'])){ 
    $name = $_POST['name']); 
} 

, form alanını önceden doldurmak için $name değerini kullanın: testing2.php olarak