su sekilde calismasi lazim
<section id="content">
<h3>E-Mail Adresinizi Değiştirin</h3>
<form name="update1" action="" method="POST">
<div class="6u 12u$(xsmall)">
<input type="hidden" name="emailDegis" value="1" /> <!-- hidden input -->
<input type="text" name="degisik" value="" placeholder="
<?php
$acaba = $_SESSION['kadi'];
if ($calistir = mysqli_query($baglan, "SELECT * FROM uyeler WHERE kadi = '$acaba'")) {
$oku = mysqli_fetch_assoc($calistir);
echo $oku['eposta'];
}
?>" />
</div>
<div class="12u$">
<ul class="actions">
<li><input type="submit" value="Güncelle" class="special" /></li>
</ul>
</div>
<?php
$acaba = $_SESSION['kadi'];
if ($calistir = mysqli_query($baglan, "SELECT * FROM uyeler WHERE kadi = '$acaba'")) {
$oku = mysqli_fetch_assoc($calistir);
$mailiniz = $oku["eposta"];
}
if (($_POST) && ($_POST['emailDegis'] == '1')) { /** if'e yeni bir condition ekledik' **/
$degismail = trim($_POST["degisik"]);
if (!$degismail) {
echo "<div class=\"fa login\"> Lütfen Eksik Alanları Tamamlayınız. </div>";
} else {
if (!filter_var($degismail, FILTER_VALIDATE_EMAIL)) {
echo "<div class=\"fa login\"> Lütfen Geçerli Bir E-Mail Adresi Giriniz. </div>";
} else {
$varmiiki = mysqli_num_rows(mysqli_query($baglan,
"SELECT * FROM uyeler WHERE eposta = '$degismail'"));
if ($varmiiki != 0) {
echo "<div class=\"fa login\"> Bu E-Mail Adresi Bulunuyor. </div>";
} else {
$stmt = $baglan->stmt_init();
$stmt->prepare("UPDATE uyeler SET eposta=? WHERE eposta = '$mailiniz'");
$stmt->bind_param("s", $degismail);
if ($stmt->execute()) {
echo "<div class=\"fa login\"> Başarıyla Güncellendi! </div>";
} else {
echo "<div class=\"fa login\"> Bir Sorun Oluştu! </div>";
}
}
}
}
}
?></form>
</section>
<hr>
<section id="content">
<h3>İsminizi Değiştirin</h3>
<form name="update2" action="" method="POST">
<div class="6u 12u$(xsmall)">
<input type="hidden" name="isimDegis" value="1" /> <!-- hidden input -->
<input type="text" name="nick" value="" placeholder="<?php
$acaba = $_SESSION['kadi'];
if ($calistir = mysqli_query($baglan, "SELECT * FROM uyeler WHERE kadi = '$acaba'")) {
$oku = mysqli_fetch_assoc($calistir);
echo $oku['adi'];
}
?>" />
</div><div class="12u$">
<ul class="actions">
<li class="actions"><input type="submit" value="Güncelle" class="special" /></li>
</ul>
</div></form>
<?php
$acaba = $_SESSION['kadi'];
if ($calistir = mysqli_query($baglan, "SELECT * FROM uyeler WHERE kadi = '$acaba'")) {
$oku = mysqli_fetch_assoc($calistir);
$adiniz = $oku["adi"];
}
if ( ($_POST) && ($_POST['isimDegis'] == '1') ) { /** if'e yeni bir condition ekledik' **/
$nick = trim($_POST["nick"]);
if (!$nick) {
echo "<div class=\"fa login\"> Lütfen Eksik Alanları Tamamlayınız. </div>";
} else {
$varmi = mysqli_num_rows(mysqli_query($baglan,
"SELECT * FROM uyeler WHERE adi = '$nick'"));
if ($varmi != 0) {
echo "<div class=\"fa login\"> Bu Takma Ad Kullanılıyor. </div>";
} else {
$stmt = $baglan->stmt_init();
$stmt->prepare("UPDATE uyeler SET adi = ? WHERE adi ='$adiniz'");
$stmt->bind_param("s", $nick);
if ($stmt->execute()) {
echo "<div class=\"fa login\"> Başarıyla Güncellendi! </div>";
} else {
echo "<div class=\"fa login\"> Bir Sorun Oluştu! </div>";
}
}
}
}
?>
</section>
Yardımlarınız için çok teşekkür ederim hocam.
- Gereksiz yere 4 kez kullanıcı bilgilerini çağırmışsınız. Bunu 1 kez çağırmanız yeterlidir.
- Else ve if komutlarında { ve } karakterlerini, altına tek satır kod girecekseniz kullanmanıza gerek yok.
- Kodlarınız çok karışık, boşu boşuna kendinizi yoruyorsunuz. Daha düzenli kod yazmayı denemelisiniz.
- Kullanıcı bilgilerini Session'da kullanıcı adına göre tutup, ona göre sorgulama yapmak performans kaybına yol açar. Her kullanıcı için bir auto_increment ile benzersiz bir ID belirleyip, Session'da bu ID'yi tutmak ve tüm SQL sorgularını bu ID üzerinden çalıştırmak performans açısından daha avantajlıdır.
<?php
// kullanıcı bilgilerini tek seferde almanız yeterlidir.
// tekrar tekrar sorgu çalıştırmanız performans kaybına yol açar.
if($calistir = mysqli_query($baglan, "SELECT * FROM uyeler WHERE kadi = '".$_SESSION['kadi']."'" ))
$oku = mysqli_fetch_assoc($calistir);
?>
<section id="content">
<h3>E-Mail Adresinizi Değiştirin</h3>
<form name="update1" action="" method="POST">
<?php
// update=eposta şeklinde bilgi gönderiyoruz
?>
<input type="hidden" name="update" value="eposta" />
<div class="6u 12u$(xsmall)">
<input type="text" name="degisik" value="" placeholder="<?php echo $oku['eposta']; ?>" />
</div>
<div class="12u$">
<ul class="actions">
<li><input type="submit" value="Güncelle" class="special" /></li>
</ul>
</div>
<?php
# güncelle
// update=eposta şeklinde gönderdiğimiz bilgiyi doğruluyoruz
if($_POST && $_POST['update'] == 'eposta') {
$degismail = trim($_POST["degisik"]);
if (!$degismail)
echo "<div class=\"fa login\"> Lütfen Eksik Alanları Tamamlayınız. </div>";
elseif (!filter_var( $degismail, FILTER_VALIDATE_EMAIL ))
echo "<div class=\"fa login\"> Lütfen Geçerli Bir E-Mail Adresi Giriniz. </div>";
else {
$varmiiki=mysqli_num_rows(mysqli_query ($baglan, "SELECT * FROM uyeler WHERE eposta = '$degismail'"));
if ($varmiiki!=0)
echo "<div class=\"fa login\"> Bu E-Mail Adresi Bulunuyor. </div>";
else {
$stmt = $baglan->stmt_init();
$stmt->prepare("UPDATE uyeler SET eposta=? WHERE eposta = '".$oku['eposta']."'");
$stmt->bind_param("s",$degismail);
if ($stmt->execute())
echo "<div class=\"fa login\"> Başarıyla Güncellendi! </div>";
else
echo "<div class=\"fa login\"> Bir Sorun Oluştu! </div>";
}
}
}
?>
</form>
</section>
<hr>
<section id="content">
<h3>İsminizi Değiştirin</h3>
<form name="update2" action="" method="POST">
<?php
// update=nick şeklinde bilgi gönderiyoruz
?>
<input type="hidden" name="update" value="nick" />
<div class="6u 12u$(xsmall)">
<input type="text" name="nick" value="" placeholder="<?php echo $oku['kadi']; ?>" />
</div>
<div class="12u$">
<ul class="actions">
<li class="actions"><input type="submit" value="Güncelle" class="special" /></li>
</ul>
</div>
</form>
<?php
// update=nick şeklinde gönderdiğimiz bilgiyi doğruluyoruz
if($_POST && $_POST['update'] == 'nick') {
$nick = trim($_POST["nick"]);
if (!$nick)
echo "<div class=\"fa login\"> Lütfen Eksik Alanları Tamamlayınız. </div>";
else {
$varmi=mysqli_num_rows(mysqli_query ($baglan, "SELECT * FROM uyeler WHERE adi = '$nick'"));
if ($varmi!=0)
echo "<div class=\"fa login\"> Bu Takma Ad Kullanılıyor. </div>";
else {
$stmt = $baglan->stmt_init();
$stmt->prepare("UPDATE uyeler SET adi = ? WHERE adi ='".$oku['adi']."'");
$stmt->bind_param("s",$nick);
if ($stmt->execute())
echo "<div class=\"fa login\"> Başarıyla Güncellendi! </div>";
else
echo "<div class=\"fa login\"> Bir Sorun Oluştu! </div>";
}
}
}
?>
</section>
Evet ilk kod yazmam diyebilirim o yüzden gereksiz bir sürü şey yapmış olabilirim. Fakat verdiğiniz kodları yer değiştirdiğimde
Parse error: syntax error, unexpected 'Â Â Â Â Â Â Â Â ' (T_STRING) in C:\wamp\www\noktacom\kimayarlar.php on line 95
hatası alıyorum.
Satırsa şu;
<?php
****if($calistir = mysqli_query($baglan, "SELECT * FROM uyeler WHERE kadi = '".$_SESSION['kadi']."'" ))
$oku = mysqli_fetch_assoc($calistir); //Bu satır hata veriyor.
?>