neden bu sonuçlar sonrası değil mi?

2 Cevap php

Ben sorun kez işlenmiş formdan değerleri kapma yaşıyorum. Senin yardımına ihtiyacım var.

function updateUser($table, $id) {
    if($_POST) {
    	processUpdate($table, $id);
    } else {
    	updateForm($table, $id);
    }
}

function processUpdate($table, $id) {

    print $table; //testing
    print $id; //testing

    $email=addslashes($HTTP_POST_VARS['email']);
    $lname=addslashes($HTTP_POST_VARS['lname']);
    $fname=addslashes($HTTP_POST_VARS['fname']);

    print $lname;

    //which table do we update
    switch($table) {
    	case "maillist":
    		$result = mysql_query("UPDATE $table SET email='$email', lname='$lname', fname='$fname' WHERE id='$id'") 
    		or die(mysql_error());
    	break;
    }
}

Fonksiyonu UpdateForm ($ tablo, $ id); sadece formu çıktılar e-posta, lname, Fname alanlar vardır. Eğer formu işlemek ve eylem w masa ve url sokmak geçirilen id /,, aynı, yani bu GET id ve tablo bu şekilde, ve lname için, fname, ve e-posta, bu posta yoluyla kapmalısınız .

EDIT: <form method="post" action="?mode=upd&id='.$id.'&table='.$table.'">: Bu UpdateForm fonksiyon için form etiketi ne olduğunu

Ama nedense, bu değerleri sonrası yok.

2 Cevap

Formun yöntem niteliği göndermek için ayarlanmış mı?

<form method = "post" action = "...">

Ve girişin name niteliğini tamam ayarlanır?

Hiçbir sözdizimi hataları vardı emin olmak için html çıkışında baktınız mı? Ayrıca, kullanmayı deneyin

$_POST

yerine

$HTTP_POST_VARS

Eğer PHP5 son sürümleri biri için bir up-to-date öğretici kullandığınızdan emin olun. NOT önerilmiyor fonksiyonları tam bazı PHP 3.x tut ;-)

P: Bu sizin hayat (ve bizim) bir sürü daha kolay hale getirecek

By the way one more tip that will prevent you from having major SQL injections in this script: ESCAPE EVERY VARIABLE YOU ARE GOING TO PASS!!

Size db açılır güzel büyük bir delik olduğu, burada kimliği kaçış yok