2016-05-02 11 views
0

wie Sie mehrere Radio-Button in der Datenbank mit PHP ohne Speichern Schaltfläche Wert speichern.wie Sie mehrere Radio-Button in der Datenbank mit php speichern ohne Speichern Schaltfläche Wert

mein Code:

$user_id = $_POST['user_id']; 
foreach ($_POST as $key => $val) { 
    if ($key <> 'user_id') { 
     $bidder_interst_insert="INSERT INTO bidder_interest_list(id, bidder_id, bidder_interest_name) VALUES ('','$user_id','$val')"; 
     $bidder_interst_insert_result = mysql_query($bidder_interst_insert); 
     if (mysql_affected_rows() > 0) { 
      $interest_list_success = "Thank you Successfull insert your interst list."; 
      $_SESSION['interest_list_success_msg'] = $interest_list_success; 
     } else { 
      $insert_error = "interst list Insert Error."; 
      $_SESSION['insert_error_msg'] = $insert_error; 
      header("location:interest_list.php"); 
     } 
    } 
} 

Dieser Code funktioniert aber Datenbank zusätzliche Schaltfläche Speichern Wert speichern, wie dieses Problem zu lösen ??

enter image description here

+5

** WARNUNG **: Wenn Sie nur PHP lernen, bitte verwenden Sie nicht die [ 'mysql_query'] (http://php.net/manual/en/function.mysql -query.php) Schnittstelle. Es ist so schrecklich und gefährlich, dass es in PHP 7 entfernt wurde. Ein Ersatz wie [PDO ist nicht schwer zu erlernen] (http://net.tutsplus.com/tutorials/php/why-you-should-beusing-phps) -pdo-for-database-access /) und ein Leitfaden wie [PHP The Right Way] (http://www.phptherightway.com/) erläutert Best Practices. Ihre Benutzerparameter sind ** nicht ** [richtig maskiert] (http://bobby-tables.com/php) und es gibt [SQL injection bugs] (http://bobby-tables.com/), die ausgenutzt werden können . – tadman

+0

Kann ich Ihren HTML-Code anzeigen? –

+0

Ja, stimmen Sie vollständig mit @tadman überein, aber im aktuellen Code, wenn Sie den Wert der Schaltfläche zum Speichern der Schaltfläche aufheben möchten, können Sie unset verwenden ($ _ POST ['name-of-save-button']); Und dann $ data = $ _POST; foreach ($ data als $ key => $ val) {// Dein Code hier} –

Antwort

2
foreach ($_POST as $key => $val){ 

Sie sind die $_POST direkt Looping, so dass der Wert SAVE-Taste auch in der Datenbank zu speichern. Nimm die Werte einzeln, anstatt das ganze $_POST zu durchlaufen, dann wird der SAVE-Button-Wert nicht in der Datenbank gespeichert.

Und außerdem verwenden Sie mysql Funktionen, die veraltet sind, verwenden Sie mysqli oder PDO.

EDIT :: nehmen Sie es einfach auf die gleiche Weise wie u user_id == nahm>$variablename = $_POST['fieldname'];


EDIT ::: Lassen Sie mich nehme an, ich habe eine Form wie dieses

<form name="form1" id="form1" method="post" action=""> 
     <input type="checkbox" name="products[]" value="A" checked="checked" />A <br /> 
     <input type="checkbox" name="products[]" value="B" checked="checked" />B <br /> 
     <input type="checkbox" name="products[]" value="C" checked="checked" />C <br /> 
     <input type="checkbox" name="products[]" value="D" checked="checked" />D <br /> 
     <input type="checkbox" name="products[]" value="E" checked="checked" />E <br /> 
     <input type="checkbox" name="products[]" value="F" checked="checked" />F <br /> 

     <input type="submit" name="save" id="save" value="Save" /> 
    </form> 

dann kann ich es tun wie:

<?php 
    if(isset($_POST['save'])) 
    { 
     $products = $_POST['products']; 
     foreach($products as $key => $value) 
     { 
      $qry = mysql_query("INSERT INTO tbl(product) VALUES('$value')"); 
     } 
    } 
?> 
+0

bitte gib mir ein Beispiel .... ?? in mysql kein mysqli – illeas

+0

hast du es ?? – phpfresher

+0

Nein, weil das ein großes Projekt ist .. !! das ist alles Arbeit sind mysql nicht mysqli danke. bitte gib mir beispiel .... ?? Ich werde es versuchen :) – illeas

1

Versuchen Sie thi s

unset($_POST['name-of-save-button']); $data = $_POST; foreach ($data as $key => $val){//your code here}

+0

Sorry Dieser Code funktioniert nicht .. !! – illeas

+0

@lease das sollte definitiv funktionieren, Sie können es überprüfen, indem Sie print_r ($ _ POST); nicht gesetzt ($ _ POST ['any-post-field-Sie-wollen-zu-unset']); print_r ($ _ POST); –

Verwandte Themen