Ne yaptıysam bir türlü $_POST ettikten sonra diğer her şeyi normal görüyor ama onu hep else değeri olarak görüyor. Checkbox tikli de olsa boşta olsa sonuç aynı. Kodlar aşağıda. !isset yaparsam bu sefer else kısmını görmüyor. Ajax kutuların boş kalmaması ve hatalı eksik yerlerin alert olarak bildirilmesi için function oluşturdum onda bir sıkıntı yok. Checkbox postta da bir sıkıntı yok gibi ama checkbox nasıl olursa olsun hep post almamış gibi sonuç veriyor. Yardımcı olabilecek var mı yaklaşık 4 saattir internet üstünden bakıyorum ve hala beceremedim. İstediğim şey checkbox'u post olarak kontrol dosyasına yollamak eğer tikliyse update 1 değilse update 2 çevirsin başka bir şey istemiyorum. Yardımcı olabilecek arkadaşlar veya abilerimiz varsa Allah rızası için bir el atsınlar cidden bunaldım şuanda. :(
ayarlar.php
ayarlarkontrol.php require("baglan.php");
$id = $_SESSION['id'];
if(isset($_POST['isimsoyisimgoster'])) { // checkbox seçilmişse "on" değeri gönderiliyor
$isimsoyisim_onay = $db->prepare("UPDATE uyeler SET isimsoyisim_goster='1' WHERE id='$id'");
$isimsoyisim_onay->execute(array('$id'));
}
else { // seçilmemişse bu değer sayfaya hiç gönderilmiyor
$isimsoyisim_onay = $db->prepare("UPDATE uyeler SET isimsoyisim_goster='2' WHERE id='$id'");
$isimsoyisim_onay->execute(array('$id'));
}
?>
ayarlarkontrol.php require("baglan.php");
$id = $_SESSION['id'];
if(isset($_POST['isimsoyisimgoster'])) { // checkbox seçilmişse "on" değeri gönderiliyor
$isimsoyisim_onay = $db->prepare("UPDATE uyeler SET isimsoyisim_goster= ? WHERE id='$id'");
$isimsoyisim_onay->execute(array('1'));
}
else { // seçilmemişse bu değer sayfaya hiç gönderilmiyor
$isimsoyisim_onay = $db->prepare("UPDATE uyeler SET isimsoyisim_goster= ? WHERE id='$id'");
$isimsoyisim_onay->execute(array('2'));
}
?>
isset tanımsızsa demek isseti kaldır seçili ise true değeri yollar seçili dğeilse false if($_POST['isimsoyisimgoster']) yaparsan işaretlenmişse işlem yapar if(!$_POST['isimsoyisimgoster']) yaparsan işaretlenmemişse işlem yapacaktır.
Bunu denedim dediğiniz gibi ve if else olacak şekilde de yine olmadı hocam. Başlarına da @ koymazsam diğer $_POST'ları engelliyor şuanda. Yine sanki hiç post gitmemiş gibi olumsuzu döndürüyor.
if(@$_POST['isimsoyisimgoster']) { // checkbox seçilmişse "on" değeri gönderiliyor
$isimsoyisim_onay = $db->prepare("UPDATE uyeler SET isimsoyisim_goster= ? WHERE id='$id'");
$isimsoyisim_onay->execute(array("1"));
}
if(@!$_POST['isimsoyisimgoster']) { // checkbox seçilmişse "on" değeri gönderiliyor
$isimsoyisim_onay = $db->prepare("UPDATE uyeler SET isimsoyisim_goster= ? WHERE id='$id'");
$isimsoyisim_onay->execute(array("2"));
}
Benim bildiğim isset() eğer varsa 1 yoksa 0 döndür orada bi problem olduğunu düşünmüyorum Jquery kodunuda eklemeli :)
Checkbox işaretleniyor ve post atıyor normalde ama post atmıyor diye gösteriyor sanırım hep boş gönderiyor. İsset ve empty kullandım veya böyle normal post olarak kullandım yine çözemedim. Kontrol sayfasına post etmeden index.php'de post yani aynı sayfada post yaptım yine olmadı. Öğleden beri girmediğim pek bir iste kalmadı isset empty öneriyor hepsi. Görür falan diyorlar zaten hepsi de yabancı forumlardı. Yardımcı olursan sevinirim usta. :(
if(@$_POST['isimsoyisimgoster']) { // checkbox seçilmişse "on" değeri gönderiliyor
$isimsoyisim_onay = $db->prepare("UPDATE uyeler SET isimsoyisim_goster= ? WHERE id='$id'");
$isimsoyisim_onay->execute(array("1"));
}
if(@!$_POST['isimsoyisimgoster']) { // checkbox seçilmişse "on" değeri gönderiliyor
$isimsoyisim_onay = $db->prepare("UPDATE uyeler SET isimsoyisim_goster= ? WHERE id='$id'");
$isimsoyisim_onay->execute(array("0"));
}
if($email==$emailno){ //Eğer sistemde ki email, gönderilen email ile aynı ise;
$telefonvarmi = $db->prepare("SELECT * FROM uyeler WHERE telefon = ? ");
$telefonvarmi->execute(array($telefon));
if($telefon==$telefonno){ //Eğer telefon gönderilen telefon ile aynı ise;
if(!filter_var($email,FILTER_VALIDATE_EMAIL)){ //Eğer email formatı yanlış ise;
echo "formatyanlis";
}
else{ //Eğer email formatı yanlış değil ise;
$kaydet = $db->prepare("UPDATE uyeler SET isim = ?, soyisim = ?, password = ? WHERE id = '$id' ");
$kaydet->execute(array($isim,$soyisim,$password));
if($kaydet){ //Eğer kaydetme başarılı oldu ise;
echo "basarili";
}
else{ //Eğer kaydetme başarısız oldu ise;
echo "hata";
}
}
}
else{
if($telefon!=$telefonno){ //Eğer telefon gönderilen telefon ile aynı değil ise;
if($telefonvarmi->rowCount()){
echo "telefonvar";
}
else if(!filter_var($email,FILTER_VALIDATE_EMAIL)){ //Eğer email formatı yanlış ise;
echo "formatyanlis";
}
else{
$kaydet = $db->prepare("UPDATE uyeler SET isim = ?, soyisim = ?, password = ?, telefon = ? WHERE id = '$id' ");
$kaydet->execute(array($isim,$soyisim,$password,$telefon));
if($kaydet){ //Eğer kaydetme başarılı oldu ise;
echo "basarili";
}
else{ //Eğer kaydetme başarısız oldu ise;
echo "hata";
}
}
}
}
}
else{
if($email!=$emailno) { //Eğer email, gönderilen email ile aynı değil ise;
$emailvarmi = $db->prepare("SELECT * FROM uyeler WHERE email = ? ");
$emailvarmi->execute(array($email));
if($emailvarmi->rowCount()){ //Eğer gönderilen email sistemde kayıtlı ise;
echo "emailvar";
}
else { //Eğer gönderilen email sistemde kayıtlı değil ise;
$telefonvarmi = $db->prepare("SELECT * FROM uyeler WHERE telefon = ? ");
$telefonvarmi->execute(array($telefon));
if($telefon==$telefonno){ //Eğer telefon gönderilen telefon ile aynı ise;
if(!filter_var($email,FILTER_VALIDATE_EMAIL)){ //Eğer email formatı yanlış ise;
echo "formatyanlis";
}
else{ //Eğer email formatı yanlış değil ise;
$kaydet = $db->prepare("UPDATE uyeler SET isim = ?, soyisim = ?, password = ?, email = ? WHERE id = '$id' ");
$kaydet->execute(array($isim,$soyisim,$password,$email));
if($kaydet){ //Eğer kaydetme başarılı oldu ise;
echo "basarili";
}
else{ //Eğer kaydetme başarısız oldu ise;
echo "hata";
}
}
}
else{
if($telefon!=$telefonno){ //Eğer telefon gönderilen telefon ile aynı değil ise;
if($telefonvarmi->rowCount()){
echo "telefonvar";
}
else if(!filter_var($email,FILTER_VALIDATE_EMAIL)){ //Eğer email formatı yanlış ise;
echo "formatyanlis";
}
else{
$kaydet = $db->prepare("UPDATE uyeler SET isim = ?, soyisim = ?, password = ?, email = ?, telefon = ? WHERE id = '$id' ");
$kaydet->execute(array($isim,$soyisim,$password,$email,$telefon));
if($kaydet){ //Eğer kaydetme başarılı oldu ise;
echo "basarili";
}
else{ //Eğer kaydetme başarısız oldu ise;
echo "hata";
}
}
}
}
}
}
}
?>
ayarlar.php tamamı
require("baglan.php");
?>
"; }
else { ?>
Türkiye'nin İlk PTP Sitesi
<script></script>
<script></script>
<script></script>
<script>
var cboxes = document.getElementById('isimsoyisimgoster');
checked = (cboxes.checked?'1':'0');
</script>
<script>
$.noConflict();
$(document).ready(function() {
var a = 0;
$(function(){
$('.menuAc').click(function(){
if (a == 0) {
$(this).text('Menüyü Kapat');
a++;
}
else {
$(this).text('Menüyü Aç');
a = 0;
}
$(this).next('ul').toggle();
});
});
var b = 0;
$(function(){
$('.menuAc2').click(function(){
if (b == 0) {
$(this).text('> Hesap <');
b++;
}
else {
$(this).text('< Hesap >');
b = 0;
}
$(this).next('ul ul').toggle();
});
});
});
</script>
<script></script>
<script>
function profil(){
var id = $("input[name=id]").val();
id = $.trim(id);
var nickname = $("input[name=nickname]").val();
nickname = $.trim(nickname);
var isim = $("input[name=isim]").val();
isim = $.trim(isim);
var soyisim = $("input[name=soyisim]").val();
soyisim = $.trim(soyisim);
var password = $("input[name=password]").val();
password = $.trim(password);
var email = $("input[name=email]").val();
email = $.trim(email);
var dogumtarihi = $("input[name=dogumtarihi]").val();
dogumtarihi = $.trim(dogumtarihi);
var telefon = $("input[name=telefon]").val();
telefon = $.trim(telefon);
if(id == "") {
alert("ID boş geçilemez.");
}
else if(nickname == "") {
alert("Kullanıcı adı boş geçilemez.");
}
else if(isim == "") {
alert("İsim boş geçilemez.");
}
else if(soyisim == "") {
alert("Soyisim boş geçilemez.");
}
else if(password == "") {
alert("Şifre boş geçilemez.");
}
else if(email == "") {
alert("E-Posta boş geçilemez.");
}
else if(dogumtarihi == "") {
alert("Doğum tarihi boş geçilemez.");
}
else if(telefon == "") {
alert("Telefon bumarası boş geçilemez.");
}
else{
var bilgiler2 = "isim="+isim+"&soyisim="+soyisim+"&password="+password+"&email="+email+"&telefon="+telefon;
$.ajax({
type : "POST",
url : "ayarlarkontrol.php",
data : bilgiler2,
success : function(sonuc2){
if(sonuc2=="basarili"){
alert("Profil güncelleme tamamlandı.");
}
else if(sonuc2=="hata"){
alert("Kayıt başarısız oldu.");
}
else if(sonuc2=="emailvar"){
alert("Bu E-Posta başkası tarafından kullanılmaktadır.");
}
else if(sonuc2=="telefonvar"){
alert("Bu telefon numarası başkası tarafından kullanılmaktadır.");
}
else if(sonuc2=="formatyanlis"){
alert("E-Posta formatınız yanlış.");
}
}