2014-10-17 4 views
0

Я пытался каким-то образом получить форму html, созданную мной на странице wordpress, чтобы ввести введенную информацию и отправить ее в пользовательские таблицы в базе данных wordpress. Я попытался вызвать собственный скрипт php и написать код на самой странице, и я не могу понять, как заставить его работать. Я схожу с ума, пытаясь понять это, я собираюсь сдаться. Любые предложения о том, где начать искать, достаточно, чтобы я искал неделю, были бы замечательными.Создание формы для отправки данных в базу данных wordpress

Я пробовал использовать mysqli_connection, но я продолжаю получать проблемы с подключением, где я кладу (mysite.com, user, pass, db); и я получаю еще одну ошибку «не могу подключиться» [email protected] «У меня есть общий IP-адрес, поэтому мне интересно, подключается ли он к этому другому сайту, у которого нет ссылки в моем коде. Я устал от использования локального хоста вместо моего сайта, но ничего не работает.

Этот код пытается получить некоторые данные с БД, но ничего не происходит, так же, как b4, где mysite.com показывает ошибку не могу подключиться к [email protected] и LOCALHOST не работает.

<?php 
    $con=mysqli_connect("mysite.com","user","pass","db"); 
    // Check connection 
    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $result = mysqli_query($con,"SELECT * FROM Liquor_Type"); 

    while($row = mysqli_fetch_array($result)) { 
     echo $row['lq_name'] . " " . $row['description']; 
     echo "<br>"; 
    } 

    mysqli_close($con); 
    ?> 

моя форма

<form action = "setLQType.php" method="post"> 
Add a New Liquor Type</br></br> 
<p>Name: <input type="text" name="name"/></p> 
<p>Description <input type="text" name="description"/></p> 
---------------------------------------------- 
<input type="submit" name="Submit"/> 
</form> 
</br> 

файл, setLQType, который находится в основном словаре wordpress. Он попадет в файл, но ничего не сделает.

<?php 
$con=mysqli_connect("mysite.com","user","pass","db_name"); 
// Check connection 
if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$name = mysqli_real_escape_string($con, $_POST['name']); 
$description = mysqli_real_escape_string($con, $_POST['description']); 

$sql="INSERT INTO Liquor_Type(lq_name, description) 
VALUES ('$name ', '$description)"; 

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

mysqli_close($con); 
?> 

Обновлено страница вставки ... setLiquorType.php в website.com/setLiquorType.php

<?php 
$global $wpdb; 
$name = $_POST['name']; 
$description = $_POST['description']; 
$table_name = $wpdb->prefix . "wp_Liquor_Type"; 
$wpdb->insert($table_name, array(
          'lq_name' => $name, 
          'description' => $description 
          )); 
?> 
+1

Вы будете иметь чтобы привести примеры кода –

+0

добавил код – Matthew

+0

, что конкретно является ошибкой при попытке сделать это? можете ли вы добавить трассировку стека? – mmcrae

ответ

0

проводок работает следующим образом:

global $wpdb; 

$name = sanitize_text_field( $_POST['name']); 
$lq_name = sanitize_text_field($_POST['lq_name']); 
$description = $_POST['description']; 
$table_name = $wpdb->prefix . "Liquor_Type"; 
$wpdb->insert($table_name, array(
    'liquor_name' => $liquor_name, 
    'description' => $description 
)); 

Ваше соединение MySQL доступен в var $ wpdb

global $wpdb; 

        $sql="SELECT * FROM Liquor_Type"; 

        $row = $wpdb->get_results($sql);     
        foreach ($row as $data) 
        { 
        echo $data->lq_name. " " . $data->description; 
         echo "<br>"; 
        } 
+0

Удивительно, что работает спасибо, но как я могу взять данные формы и отправить ее в db? – Matthew

+0

скажет Wordpress отправить его в php-файл или мне нужно иметь php на странице wp? – Matthew

+0

У меня все еще есть проблемы, я устал от вашего метода вставки, и я написал что-то подобное в прошлом и до сих пор не могу получить что-либо, чтобы ввести в db. – Matthew

Смежные вопросы