Başka bir dosyada bir fonksiyonu Hayır getiri PHP

1 Cevap php

Ben bir form ile bir dosya var, o formu işlemek için başka içerir. Formu ile dosya veritabanına veri yazmak için dahil dosyasındaki bir işlevi çağırır ve ben çıkış başvurmak böylece o zaman ben bu yazılan bir $ insert_id döndürür.

Eğer sayfadaki formu doldurun Örneğin, veriler daha sonra ben ben den fonksiyonu olarak adlandırılır orijinal dosya verildi kimliğini başvurmak istiyorum, ayrı bir dosyadan db gönderilir.

Db işlem dosyasını içeren formu ile dosyanın bir pasajı:

if (isset($_POST['EC_doPost']))
{
    $statusPost = $_POST['EC_statusPost'];

    echo "HERE: " . $this->addEvent($title, $location, $linkout, $attendees, $description, $startDate, $startTime, $endDate, $endTime, $accessLevel, $postID) . "There.";

    $data = array
    (
    	'post_content' => $output . "TESTING THIS: " . $event_id,
    	'post_title' => $title,
    	'post_date' => date('Y-m-d H:i:s'),
    	'post_category' => $wpdb->escape($this->blog_post_author),
    	'post_status' => $statusPost,
    	'post_author' => $wpdb->escape($this->blog_post_author),
    );
}

Ve burada insert_id dönmelidir (dahil dosyada) s fonksiyonudur:

function addEvent($title, $location, $linkout, $attendees, $description, $startDate, $startTime, $endDate, $endTime, $accessLevel, $postID)
{
    $postID = is_null($postID) ? "NULL" : "'$postID'";
    $location = is_null($location) ? "NULL" : "'$location'";
    $description = is_null($description) ? "NULL" : "'$description'";
    $startDate = is_null($startDate) ? "NULL" : "'$startDate'";
    $endDate = is_null($endDate) ? "NULL" : "'$endDate'";
    $linkout = is_null($linkout) ? "NULL" : "'$linkout'";
    $attendees = is_null($attendees) ? "NULL" : "'$attendees'";
    $startTime = is_null($startTime) ? "NULL" : "'$startTime'";
    $accessLevel = is_null($accessLevel) ? "NULL" : "'$accessLevel'";
    $endTime = is_null($endTime) ? "NULL" : "'$endTime'";

    $sql = "INSERT INTO `$this->mainTable` (`id`, `eventTitle`, `eventDescription`, `eventLocation`, `eventLinkout`, `eventAttendees`,`eventStartDate`, `eventStartTime`, `eventEndDate`, `eventEndTime`, `accessLevel`, `postID`) VALUES (NULL , '$title', $description, $location, $linkout, $attendees, $startDate, $startTime, $endDate, $endTime , $accessLevel, $postID);";

    $this->db->query($sql);

    $landingpage = "'http://www.google.com'";
    $status = "'1'";
    $title = "'".$title."'";
    $addedon = "'".date("Y-m-d")."'";

    $sql = "INSERT INTO `$this->eventrTable` (`name`, `description`, `event_date`, `maximum_attendees`, `added_on`, `status`, `landing_page`) VALUES ($title, $description, $startDate, $attendees, $addedon, $status, $landingpage);"; 

    $this->db->query($sql);
    $event_id = $this->db->insert_id;

    return $event_id;
}

Ne yapmaya çalışıyorum iki Wordpress eklentileri birlikte iş yapmak, ama henüz o kadar iyi gitmiyor. Ben değişken echo fonksiyonu ile birlikte dosyayı yaparsanız, çalışır, ama sonra ben orijinal dosya çalışmak için alamıyorum ...

Ben aptal şey olduğundan emin değilim, ama stumped.

1 Cevap

AddEvent () fonksiyonu $ event_id dönen değil;

Böyle bir şey olması gerekir:

function addEvent(/*...*/)
{
    // ...

    $sql = "INSERT INTO `$this->eventrTable` ("
      ."`name`, `description`, `event_date`, `maximum_attendees`, `added_on`, `status`, `landing_page`) "
      ."VALUES ($title, $description, $startDate, $attendees, $addedon, $status, $landingpage);";

    $this->db->query($sql);
    $event_id = $this->db->insert_id;

    return $event_id;
}

Aşağıdakileri yaparak deneyin:

var_dump($this->db->query($sql));
var_dump($event_id);

Ve çıkışı sonrası.