Merhaba arkadaslar, php ye yeni basladim zar zor da olsa kurduk mysql apache ve php yi. Simdi en kolayindan bir form sayfasi yapayim dedim ama en bastan olay su koyuverdi.SOrun nedir anlamadim.Php. apache falan kurdum sorun yok gibi.Asagida kodlar yazili.Yani calismasi gereken cok kisa bir kod.Alt tarafi ismi girecen sana hosgeldin bilmemne diye basacak. Ama girince hicbirsey cikmiyor. degiskeni almiyor yani. Iki dosya dahttp://localhost icinde. Yani bi unlem nokta hatasi yaptiysam kafami vurcam duvara. Saolun....
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head>
POST ve GET değişkenlerin hepsini safe mod da açarak kullanabilirsiniz. Bunun için dizi değişkenleri indisleri isminde değişkenlere ve içerikleri namında çeviren extract komutu var. illa ki safe mod diye tutturan sunucularda çok işime yarıyor.
sendeki sunucuda default ayarda böyle kurulmuş olaiblir. şunu yazarsan başına;
extract($_GET[]); extract($_POST[]);
sorunun çözülebilir. Tabi ki secure kullanım için HTTP_POST_VARS gibi tam adınıda yazarak değişkenleri kullanabilirsin. Hatta DOCUMENT_ROOT gibi mühim apache değişkenlerini bilmekte ilerde işine deliler gibim yarayacaktır.
peki dediginiz extract ya da b HTTP_POST_VARS olayini yapmadan benim yazdigim sekilde nasil calistirabilirim? Apache server da ayar mi yapmak gerekiyor ? Su an pek bilgim olmadigi icin ilk once temelden gitmek istiyorum.Bu secure isine biraz tecrube kazaninca bakabilirim.
Ayrıca $_POST ile $HTTP_POST_VARS aynı şey, şöyleki php 4.1.0 sürümünden önce $HTTP_POST_VARS kullanılıyordu, bu sürümden itibaren $_POST olarak kullanılıyor.
Senin yapacağın tek şey değişkeni
$_POST['degisken'];
diye almak o kadar, veya php.ini den register_globals=off satırını on yapacaksın. Ama bütün sunucularda kapalı olduğundan kendini yukarıdaki şekle alıştır.
@acayip haklı. temelde bunlar gerekmiyor. ama ilerde de onlarsız sıkıntı oluyor ki ben yaşadım. şu an sen kendi sunucun olduğundan müdehale ediyorsun ama işte şu temelde yazdığın programı inatla safe mod php kullanan bir sunucuya atınca $_POST dizisinden çağırmadan kullanamıyorsun. o türlüde hangi değişkenin post hangisinin get olduğunu düşünüp durabiliyorsun. hele OOP çalışıp nesnelerin ne işe yaradığını bakmak zorunda kalınca üf püfler başlıyor. extract o bakımdan faydalıdır demek istedim. safe mod a en safe çözüm olsa gerek :)
php ye yeni basladim zar zor da olsa kurduk mysql apache ve php yi. Simdi en kolayindan bir form sayfasi yapayim dedim ama en bastan olay su koyuverdi.SOrun nedir anlamadim.Php. apache falan kurdum sorun yok gibi.Asagida kodlar yazili.Yani calismasi gereken cok kisa bir kod.Alt tarafi ismi girecen sana hosgeldin bilmemne diye basacak. Ama girince hicbirsey cikmiyor. degiskeni almiyor yani. Iki dosya dahttp://localhost icinde. Yani bi unlem nokta hatasi yaptiysam kafami vurcam duvara. Saolun....
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form action="form.php" method="post">
<table width="200" border="0">
<tr>
<td width="86">isim</td>
<td width="98"><input name="name" type="text" id="name" value="" /></td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td><input type="submit" name="Submit" value="Submit" /></td>
</tr>
</table>
</form>
<p> </p>
<p> </p>
</body>
</html>
form.php ise:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
echo $name;
?>
</body>
</html>
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi leony -- 27 Şubat 2006; 23:34:19 >