$ _GET Updated_value (?) - Başka bir In-Yer Editor (jQuery Plugin) soru

2 Cevap php

PHP kullanarak, ve MySQL, ben burada mevcut bu oldukça şık yerinde editörü uygulamak çalışıyorum:

tutorial: http://www.davehauenstein.com/code/jquery-edit-in-place/

js file: http://davehauenstein.com/code/scripts/jquery.inplace.min.js

Tamam ne oluyor, bir

  1. Ben metni düzenlemek için öğesini tıklatın.
  2. Ben eski bir metni temizleyin ve yeni metni girin.
  3. I click outside of the element to initiate Ajax to save the new text.
    1. Ajax "Kaydetme ..", eleman güncellemek için varsayılan metin olduğunu gösterir.
    2. Yeni metin veritabanında güncellenir.
  4. Eleman reloads ve yerine elemanın içinde yeni metin gösteren, eleman gösterileri boş döner bir eleman için js dosyasında varsayılan metin olan (metin düzenlemek için buraya tıklayın).

Sorun: elle sayfayı yenileyin Sadece bir kez, eleman yüklenen yeni metindir. Bunun yerine serinletici olmadan öğesi yükleme.

The element with in-place edit:

<div class="editme1"><?php
$content = $_GET['uptarih_value'];
// i added this to try and get the uptarihd value but im
// not really sure, just a guess. i have also used $_POST
// in an attempt to catch it....but i feel stupid even
// saying that..lol
if(!empty($content)) { echo "$content"; } else 
{ echo "$row[profilevalue_8]"; }
?></div>

The file (uptarih.php) which uptarihs the database:

<?php include('includes/config.php');
include('includes/functions.php');
$name = $_POST[uptarih_value];
$uptarih = mysql_query("UPDATE profilevalues SET profilevalue_8 = '".$name."' 
WHERE profilevalue_user_id = '".uid()."'") or die(mysql_error());
?>

The javascript

<script type="text/javascript">
    $(document).ready(function(){
        $(".editme1").editInPlace({
            url: "http://www.mysite.com/uptarih.php",
            params: "ajax=yes",
        });
</script>

Sorun sanırım, ben beklendiği gibi öğesi değişiklikleri yansıtmak için cant olduğunu edilir.

Ben herhangi bir yardım için çok minnettar olacaktır.

Teşekkürler

2 Cevap

Sizin bir şey unuttum update.php :) Her Yerinde Editörü güncelleme dosyasına bir AJAX isteği yapar ve sonra bu isteği ile update.php olarak düzenlenmiş öğesi o gets şeyler koyar.

Yani update.php böyle olması gerekiyor

<?php include('includes/config.php');
include('includes/functions.php');
$name = $_POST[update_value];
$update = mysql_query("UPDATE profilevalues SET profilevalue_8 = '".$name."' 
WHERE profilevalue_user_id = '".uid()."'") or die(mysql_error());

echo $_POST['update_value']; //add this to your file and it should be working now
?>

Bogdan Constantinescu söylediklerini eklemek için, ben bu insanların gerçekten gerektiği pis veri girerken karşı korumak için olduğuna işaret değer olduğunu düşünüyorum

  • Çağrı htmlspecialchars() herhangi güvenilmeyen dizeleri HTML olarak tarayıcıya gönderiyor. Bu XSS saldırıları önlemeye yardımcı olacaktır.
  • mysql_real_escape_string() SQL ifadeleri doğrudan koyarak herhangi dizeleri diyoruz. Bu, SQL enjeksiyon saldırılarına karşı sizi koruyacaktır.