2016-04-11 22 views
0

İyi Gün Hepsi ... ilk soru burada, başka bir yerde yanıtlanmışsa lütfen beni affet ... Yanıt bulamadım.Aynı sayfaya geri form eylemi her zaman yeni bir pencere açar

php MySQL ekleme sorgusuyla birlikte bir form içeren bir sayfa yazdım. Form eylemi action = "". Gönder'i tıkladığımda, form yeni bir pencerede yeniden açılır. Ancak garip olan şey, açılan ikinci pencerenin tam olarak gerektiği gibi çalıştığıdır. Örneğin: gönder seçeneğinin tıklanması, başka bir pencere açmadan form verilerini yükler.

Formda ikinci bir pencerede açılmaması için bunu nasıl kodlayabileceğimi bilen var mı?

komut --->

<?php 
    session_start(); 
if(isset($_POST['submit'])){ 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "test"; 
$name=$_POST["chatter"]; 
$text=$_POST["message"]; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "INSERT INTO chat (name, text) 
VALUES ('$name', '$text')"; 

if ($conn->query($sql) === TRUE) { 
$message = "Success! message sent"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 
echo($message); 
} 

?> 

<!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" lang="en-US" xml:lang="en-US"> 
    <head> 

    <title>SafetyChat</title> 
    <style type="text/css"> 
     #chatContents{height:360px; width:313px;} 
    </style> 

    </head> 
    <body> 
    <h1>SafetyChat</h1> 
Welcome to the chat <?php echo($_SESSION["1stName"]);?>. </BR> 
    <iframe id="chatContents" name="chatContents" src="../Chat/contents.php"></iframe> 

    <form target="post" method="post" action="<?php $_SERVER['PHP_SELF'];?>"> 
     <input type="hidden" name="chatter" id="chatter" value='<?php echo($_SESSION["1stName"]. " " .$_SESSION["LstName"]);?>' /> 
     <input type="text" name="message" id="message" style="width: 250px" /></BR> 
     <input type="submit" value="Send" name="submit" id="submit"/> 
    </form> 



    </body> 
</html> 

ben iframe başka bir dosyadan sohbet içeriği gösterir eklemek gerekir ... Ben kod bölümü ve aynı sonuçları almak kaldırdık.

+0

sadece bir form yapıyoruz eğer gerekli değildir, kodundan 'eylem = ""' kaldırmayı deneyin – Jek

+0

'u yenilemek için girişlerinizi dezenfekte etmeniz gerekir - bunun her yerine sql enjeksiyon davetiyesi yazılır - veriyi doğrudan $ _POST değerlerinden db'nize eklersiniz – gavgrif

+0

Teşekkür ederim millet ... İşlemi kaldırmayı denedim = "" Yardım etmedi. Ayrıca html satırını aşağıda önerildiği gibi kaldırmayı denedim, ancak bu da işe yaramadı. hala formu düzgün çalışan başka bir pencerede açar. girişlerimi dezenfekte etme konusunda ... teşekkür ederim, ve kesinlikle haklısınız ... Bunların hepsini bir WAMP sunucusunda yerel makinemde 'kavram kanıtı' olarak yazıyorum. On line atmadan önce $ _POST'umu temizlerim. Sorunum yerel bir sunucuda çalışmanın sonucu olabilir mi acaba? – dlowey

cevap

0

... bu satırı

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

kaldırmaya çalışırsanız

<?php 
    session_start(); 
if(isset($_POST['submit'])){ 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "test"; 
$name=$_POST["chatter"]; 
$text=$_POST["message"]; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "INSERT INTO chat (name, text) 
VALUES ('$name', '$text')"; 

if ($conn->query($sql) === TRUE) { 
$message = "Success! message sent"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 
echo($message); 
} 

?> 



<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> 
    <head> 

    <title>SafetyChat</title> 
    <style type="text/css"> 
     #chatContents{height:360px; width:313px;} 
    </style> 

    </head> 
    <body> 
    <h1>SafetyChat</h1> 
Welcome to the chat <?php echo($_SESSION["1stName"]);?>. </BR> 
    <iframe id="chatContents" name="chatContents" src="../Chat/contents.php"></iframe> 

    <form target="post" method="post" action="<?php $_SERVER['PHP_SELF'];?>"> 
     <input type="hidden" name="chatter" id="chatter" value='<?php echo($_SESSION["1stName"]. " " .$_SESSION["LstName"]);?>' /> 
     <input type="text" name="message" id="message" style="width: 250px" /></BR> 
     <input type="submit" value="Send" name="submit" id="submit"/> 
    </form> 



    </body> 
</html> 
İlgili konular