wake-up-neo.com

Speichern von Textfeldwerten in der Datenbank

Ich bin neu in WordPress, kann aber gut PHP programmieren, wenn ich Wert aus dem Textfeld holen und in der Datenbank in WordPress speichern möchte. Kann ich das tun?

zum Beispiel

form1.html

<form name="form" method="post" action="value_get.php">
<input type="text" id="t1" name="t1">
<input type="submit" value="submit">
</form>

value_get.php

<?php

$firstname = mysqli_real_escape_string($con, $_POST['tb1']);

$con=mysqli_connect("localhost","root","","wordpress");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con,"INSERT INTO wp_exTable (FirstName)
VALUES ('$firstname')");


if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
?>

Kann ich diese Dinge in WordPress tun? mit ein wenig zwicken

2
lost_in_magento

Eine einfache Lösung, um den Wert in der Datenbank zu speichern, wäre die Verwendung der Funktion add_option() von WordPress. Es speichert den Wert in der Tabelle wp_options in der Datenbank.

$firstname = mysqli_real_escape_string( $con, $_POST[ 'tb1' ] );
add_option( 'first_name' , $firstname );
echo "1 record added";

Sie können dann jederzeit mit get_option( 'first_name' ) auf den Wert zugreifen.

Wenn Sie individuellere Abfragen ausführen möchten, verwenden Sie $wpdb->query(). Weitere Informationen finden Sie auf der Seite ẁpdb Codex.

2
Ram Shengale

befolgen Sie die folgenden Schritte, um ein Textfeld im Front-End anzuzeigen und Daten in der Datenbank zu speichern:

  1. Erstellen Sie eine PHP-Datei in Ihrem aktivierten Themenordner und geben Sie den folgenden Code ein:  enter image description here 

  2. Erstellen Sie jetzt eine Seite in WordPress mit dem Seitenmenü im Back-End. Im Abschnitt Neue Seite hinzufügen wird der Abschnitt "Seitenattribut" auf der rechten Seite der Seite angezeigt. Wählen Sie nun Ihre Vorlagenseite aus der Dropdown-Liste "Vorlage" aus und veröffentlichen Sie die Seite .

  3. Zeigen Sie nun die Seite an und Sie finden das Textfeld auf der Seite.

  4. Füllen Sie den Wert aus und speichern Sie ihn. Der Wert wird in einer benutzerdefinierten Tabelle in der Datenbank gespeichert.
2
Arpita Hunka

Anstatt native PHP Funktionen wie mysqli_connect zu verwenden, sollten Sie die Möglichkeiten nutzen, die WordPress bietet, um dasselbe zu tun. Dies ist aus Kompatibilitäts- und Wartbarkeitsgründen besser. Sie können nämlich die wpdb class verwenden, die nicht nur für WordPress-eigene Datenbanktabellen verwendet werden kann, sondern auch für externe. Um neue Einträge hinzuzufügen, können Sie die Methode insert() der Klasse verwenden. Weitere Informationen finden Sie im Abschnitt INSERT rows auf der Seite wpdb Codex. Nachfolgend finden Sie einen beispielhaften Code:

global $wpdb;
$fname  = $_POST[ 'txt_fname' ];
$lname  = $_POST[ 'txt_lname' ];
$tbl    = 'wp_exTable';
$others = $_POST[ 'txt_email' ];
$wpdb->insert(
    'wp_exTable',
    array(
        'first_name' => $fname,
        'last_name'  => $lname,
        'email'      => $others
    ),
    array(
        '%s',
        '%s',
        '%s'
    )
);

Zu guter Letzt sollten Sie wahrscheinlich darüber nachdenken, ob Sie tatsächlich einen zusätzlichen Tisch benötigen. Sie könnten zum Beispiel Post-Meta wie @RamShengale verwenden.

Bitte versuchen Sie diesen Code für die Aktualisierung der Datensätze in der Datenbank in WordPress. Erstellen Sie dazu zunächst einen file.php in Ihrem ausgewählten WordPress-Ordner und verwenden Sie diese Datei dann als Vorlage. Und dieser Code wird perfekt funktionieren. Wenn jemand den richtigen regulären Ausdruck zur Validierung des Namens kennt, schlagen Sie mich bitte vor. Danke euch allen.

<?php /* Template Name: your template name */ ?>
<style>
.error {color: #FF0000;}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js" type="text/javascript"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"
        type="text/javascript"></script>
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css"
        rel="Stylesheet" type="text/css" />
<script type="text/javascript">
    $(document).ready(function() {
            //this calculates values automatically 
            $("#name").keypress(function() {
            validate();
            });
            });
function validate() {

            /*=============== Validate The Name ======================*/
                var fname =document.forms["abc"]["name"].value; 
                var name_regex = /^[a-z A-Z]+$/;
            if(fname == 0||fname==null )
            {
                    document.getElementById('nameErr').innerHTML = "* Please fill your name";
                    return false;
            }
            else
            {
                    if (!fname.match(name_regex)) {
                    document.getElementById('nameErr').innerHTML = "* Name should be alphabet";
                    return false;
                    }
                    else{
                                document.getElementById('nameErr').innerHTML = "";
                    }
            }
}

        <?php get_header(); ?>
        <?php
        if (!empty($_POST)) {
        global $wpdb;
            $table = wp_tablename;
            $data = array(
                'firstname' => $_POST['yourname']
            );
            $format = array(
                '%s'
            );
            $success=$wpdb->insert( $table, $data, $format );
            if($success){
            echo 'Thanks for submitting your information soon we will contact to you'; 
        }
        }
        else   {
        ?>
        <div class="container">
            <div class="row">
                <form method="post" class="form-horizontal" id="abc" onsubmit="return validate(this)">
                <div class="col-md-3">Full name: </div><div class="col-md-8"> <input type="text" name="yourname" class="form-control" id="name"><span class="error" id="nameErr"></span></div>

                <div class="col-md-6"><input type="reset" name="reset" class="btn btn-danger"></div><div class="col-md-6"><input type="submit" value="Register" class="btn btn-success"></div>
                </form>
            </div>
        </div>
        <?php }  ?>

<?php get_footer(); ?>
0
ABHISHEK GUPTA