Abdullah 37 Posted August 30, 2012 Share Posted August 30, 2012 (edited) Arkadaşlar aşağıdaki gibi index.php ve kayıt php dosyalarım var. Sorum şu kayıt yaparken inputların içine yazdığımız değerlerin post ettikten sonra herhangi bir hata ile karşılaştığımızda ve formu doldurduktan sonra sayfayı yenilediğimizde input içine yazmış olduğum yazıların temizlenmesini istemiyorum. Yani tekrar yazmak zorunda kalmayayım. Bunun için aşağıdaki dosyalarda ne gibi bir değişiklik yapmalıyım. [b]index.php[/b] [CODE] <?php include ("ayar.php"); echo "<html><center> <form action=\"kayit.php\" method=\"POST\"> <table border=\"0\" cellpadding=\"5\" cellspacing=\"5\" bgcolor=\"#cccccc\"> <tr> <td>Kullanıcı Adı</td><td>:</td> <td><input type=\"text\" name=\"kullanici\"></td> </tr> <tr> <td>Şifre</td><td>:</td> <td><input type=\"password\" name=\"sifre\"></td> </tr> <tr> <td>E-mail</td><td>:</td> <td><input type=\"text\" name=\"eposta\"></td> </tr> <tr> <td> </td><td> </td> <td><input type=\"submit\" name=\"kaydet\" value=\"Kaydet\"></td> </tr> </table> </form> </center></html>" ?> [/CODE] [b]kayit.php[/b] [CODE] <?php include ("ayar.php"); $name = $_POST["kullanici"]; $password = $_POST["sifre"]; $mail = $_POST["eposta"]; $ekle = mysql_query("INSERT INTO uyeler (kullaniciadi,parola,email) values ('$name','$password','$mail')"); if($ekle){ echo 'Başarıyla kayıt oldunuz. Bilgileriniz aşağıdaki gibidir.<br><br>'; echo "Kullanıcı Adı : $name<br>"; echo "Şifre : $password<br>"; echo "E-mail : $mail<br>"; header("Refresh: 5; url=uye-listele"); }else{ echo "HATA! Kaydınız Yapılamadı."; header("Refresh: 3; url=uye-ekle"); } ?> [/CODE] Edited August 30, 2012 by Abdullah 37 Quote Link to comment Share on other sites More sharing options...
carysma1 Posted August 31, 2012 Share Posted August 31, 2012 (edited) İstediğini yapabilmen için kayıt işleminide aynı sayfada yapman lazım Yani tüm işlemler tek sayfada olacak Ben aşağıda senin kodlarını düzenledim abdullah Buraya kadar olan kısmı bi kontrol et hata varmı diye Birde bunda eksik birşey var Üyenin daha önce kayıt olup olmadığının kontrolü yapılması lazım şimdi aklıma geldi birde sql injectiona karşı önlem almalısın şimdilik sen aşağıdaki kodları bi incele [CODE] <?php include ("ayar.php"); if(isset($_POST['kaydet'])) //Form submit edildiyse { $name = $_POST["kullanici"]; $password = $_POST["sifre"]; $mail = $_POST["eposta"]; if(empty($name) or empty($password) or empty($mail)) //İnput kontrolü Boş alan bırakıldımı { $message = "Lütfen tüm alanları doldurunuz."; } else { //Boş alan yoksa kayıt işlemi yapılır $ekle = mysql_query("INSERT INTO uyeler (kullaniciadi,parola,email) values ('$name','$password','$mail')"); if($ekle) { $message = 'Başarıyla kayıt oldunuz. Bilgileriniz aşağıdaki gibidir.<br><br>'; $message.= "Kullanıcı Adı : $name<br>"; $message.= "Şifre : $password<br>"; $message.= "E-mail : $mail<br>"; header("Refresh: 5; url=uye-listele"); } else { $message = "HATA! Kaydınız Yapılamadı."; header("Refresh: 3; url=uye-ekle"); } } } echo "<html><center> <form action=\"\" method=\"POST\"> <table border=\"0\" cellpadding=\"5\" cellspacing=\"5\" bgcolor=\"#cccccc\"> <tr> <td>Kullanıcı Adı</td><td>:</td> <td><input type=\"text\" name=\"kullanici\" value=\""; if(isset($name)) echo $name; echo "\"></td> </tr> <tr> <td>Şifre</td><td>:</td> <td><input type=\"password\" name=\"sifre\" value=\""; if(isset($password)) echo $password; echo "\"></td> </tr> <tr> <td>E-mail</td><td>:</td> <td><input type=\"text\" name=\"eposta\" value=\""; if(isset($mail)) echo $mail; echo "\"></td> </tr> <tr> <td> </td><td> </td> <td><input type=\"submit\" name=\"kaydet\" value=\"Kaydet\"></td> </tr> </table> </form>"; ?> <?php if(isset($message) and !empty($message)) echo $message; //Message değişkeni oluşturulduysa ve boş değilse ?> <?php echo "</center></html>"; ?> [/CODE] Edited August 31, 2012 by carysma1 Quote Link to comment Share on other sites More sharing options...
carysma1 Posted August 31, 2012 Share Posted August 31, 2012 Birde şu html kodlarını php içerisinde echo ile yazdırmamalısın. Eski usül kodlama bu ve performansı etkiler. Html içinde php kodu yazmayı öğren Quote Link to comment Share on other sites More sharing options...
Abdullah 37 Posted August 31, 2012 Author Share Posted August 31, 2012 Tamam hocam bir deneyeyim. Quote Link to comment Share on other sites More sharing options...
Abdullah 37 Posted August 31, 2012 Author Share Posted August 31, 2012 Hocam kodda bir hata var sanırım. Hepsini dodursam bile boş alan bırakmayınız diyor. Birde aynı sayfada olacağı için formu action kısmı boş olması gerekmez mi? Quote Link to comment Share on other sites More sharing options...
Abdullah 37 Posted August 31, 2012 Author Share Posted August 31, 2012 Hocam kodda bir hata var sanırım. Hepsini doldursam bile boş alan bırakmayınız diyor. Birde aynı sayfada olacağı için formu action kısmı boş olması gerekmez mi? Quote Link to comment Share on other sites More sharing options...
carysma1 Posted August 31, 2012 Share Posted August 31, 2012 Tamam abdullah gözümden kaçan şeyler varmış düzelttim şimdi yukarıdaki kodu tekrar dene Quote Link to comment Share on other sites More sharing options...
Abdullah 37 Posted August 31, 2012 Author Share Posted August 31, 2012 Tamam hocam şimdi çalıştı ancak başarı ile kaydolunca input içindeki değerlerin silinmesi lazım. Silinmiyor. Quote Link to comment Share on other sites More sharing options...
Abdullah 37 Posted August 31, 2012 Author Share Posted August 31, 2012 Tamam hocam şimdi çalıştı ancak başarı ile kaydolunca input içindeki değerlerin silinmesi lazım. Silinmiyor. Quote Link to comment Share on other sites More sharing options...
carysma1 Posted August 31, 2012 Share Posted August 31, 2012 (edited) Ozaman üye eklendiğinde başka bir sayfaya yönlendir header("location: uye_profil.php") gibi Aynı sayfada kalması anlamsız zaten Üye profil syfası yapıp o sayfada üyenin bilgilerini çeker gösterirsin yada anasayfaya yönlendirirsin Ama sen böyle boş yere uğraşıyosun sana söylediğim kitapları alır çalışırsan kafanda hiçbir soru işsareti kalmaz istediğin herşeyi kendin yapabilecek düzeye gelirsin Şu halinle yapacağın her uygulamada birtakım eksikler olacak En önemliside güvenlik konusundaki eksikler Kitapları al mutlaka Edited August 31, 2012 by carysma1 Quote Link to comment Share on other sites More sharing options...
Abdullah 37 Posted August 31, 2012 Author Share Posted August 31, 2012 Tamam. hocam haklısınız. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.