找到你要的答案

Q:The right ID is not stored in session php

Q:正确的ID是不存储在会话的PHP

I am trying to create a page with vacancies where people can react on.

I am loading the data for the vacancies from dynamic op my page. I want to store the id of the vacancies that I selected in a session so I can use it on the page for reactions. This I want to do because I need to get the right reaction by the right vacancy.

But my problem is that the session I have created always gets the vacancy id 18 from my database and not the id from the right vacancy that I had selected.

PHP code for loading the vacancies dynamic:

            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<?php
 //include '../loginHandlerconnect.php';
    //include('php/loginHandlerconnect.php');

    //$db = loginHandlerconnect();

    $sql = 'SELECT * FROM vacature ORDER BY datum DESC'; 
    $results = $db->query($sql);

    foreach($results as $row) 
    {           
        $id = $row['vacatureID'];
        $werkgeverid = $row['werkgeverID'];
        $functie = $row['functie'];
        $vacatureDatum = $row['datum'];
        $vacatureDatum = date("d-m-Y", strtotime($vacatureDatum)); // $vacatureDatum omdraaien van Y-m-d naar d-m-Y
        $omschrijvingkort = $row['omschrijvingKort'];
        $omschrijving = $row['omschrijving'];

        $_SESSION[$id]['vvacatureid'] = $id;
        $_SESSION[$id]['vwerkgeverid'] = $werkgeverid;
        $_SESSION[$id]['vfunctie'] = $functie;
        $_SESSION[$id]['vdatum'] = $vacatureDatum;
        $_SESSION[$id]['vomschrijvingkort'] = $omschrijvingkort;

        $sql = 'SELECT * FROM werkgever WHERE werkgeverID = '. $werkgeverid .' LIMIT 1';

        $results = $db->query($sql);
        foreach($results as $row) 
        {  
            $bedrijfimage = $row['image'];
            $bedrijfnaam = $row['naamBedrijf'];
            $plaats = $row['plaats'];
            $provincie = $row['provincie'];

            $_SESSION['vomschrijving'] = $omschrijving;
            $_SESSION['vimage'] = $bedrijfimage;
            $_SESSION['vnaambedrijf'] = $bedrijfnaam;
            $_SESSION['vplaats'] = $plaats;
            $_SESSION['vprovincie'] = $provincie;
        } 
        //$string = strip_tags($string);

        if (strlen($functie) > 20) {

            // truncate string
            $stringCut = substr($functie, 0, 20);

            // make sure it ends in a word so assassinate doesn't become ass...
            $functie = substr($stringCut, 0, strrpos($stringCut, ' ')).'...'; 
        }
        if (strlen($bedrijfnaam) > 25) {

            // truncate string
            $stringCut2 = substr($bedrijfnaam, 0, 14);

            // make sure it ends in a word so assassinate doesn't become ass...
            $bedrijfnaam = substr($stringCut2, 0, strrpos($stringCut2, ' ')).'...'; 
        }
        if (strlen($omschrijvingkort) > 63) {

            // truncate string
            $stringCut2 = substr($omschrijvingkort, 0, 63);

            // make sure it ends in a word so assassinate doesn't become ass...
            $omschrijvingkort = substr($stringCut2, 0, strrpos($stringCut2, ' ')).'...'; 
        }

        echo 
        "
            <div class='vacatureinfo2'>
                <img class='userimg2' src='../../uploads/userimage/". $bedrijfimage ."' id='imge'/>
                <p class='func-br-pl pull-left'>". $functie ." - ". $bedrijfnaam ." - ". $plaats ."</p><p class='dtm pull-right'>". $vacatureDatum ."</p>
                <div class='omschrijvingkort2'>
                    ". $omschrijvingkort ."
                </div>
                <p class='pull-right'><a href='reactie?id=" . $id . "'>Reageer</a> | <a href='informatie-vacature'>Meer informatie</a></p>
            </div>
            <hr>
        ";
    } 



//echo "<div id='weergavebericht'></div>";
?>

PHP code for the reaction:

    <?php 
session_start();
/*
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
*/

include("loginHandlerconnect.php");

// variables voor datum/tijd en werkgeverID aanmaken zodat deze in de sql query meegenomen kunnen worden.
date_default_timezone_set("Europe/Amsterdam"); //tijdzone voor goede tijdsweergave
$datum = date("d-m-Y");
$tijd = date("h:i:s");
$id = $_SESSION['werknemerid'];
$vid = $_SESSION[$_GET['id']]['vvacatureid'];
$functie = $_SESSION[$_GET['id']]['vfunctie'];
$omschrijving = $_SESSION[$_GET['id']]['vomschrijving'];
// functie om te kijken of de variabelen niet leeg zijn.
function checkEmpty($datum, $id, $vid, $functie, $omschrijving, $tijd) 
{   
    $datumcheck = $datum;
    $tijdcheck = $tijd;
    $werknemercheck = $id;
    $vacaturecheck = $vid;
    $functiecheck = $functie;
    $omschrijvingcheck = $omschrijving;
    $motivatiecheck = $_POST['motivatie'];


    if (empty($datumcheck) || empty($tijdcheck) || empty($werknemercheck) || empty($vacaturecheck) || empty($functiecheck) || empty($omschrijvingcheck) || empty($motivatiecheck))
    {
        echo "empty box";
        return 2;   
    }
}
checkEmpty($datum, $id, $vid, $functie, $omschrijving, $tijd);

// functie om data naar database te schrijven.
function loginHandlerEstab ($datum, $id, $vid, $tijd)
{
    $db = loginHandlerconnect();
    $werknemerid = $db->quote($id);
    $vacatureid = $db->quote($vid);
    $date = $db->quote(date('Y-m-d', strtotime($datum)));
    $time = $db->quote(date('h:i:s', strtotime($tijd)));
    $motivatie = $db->quote($_POST['motivatie']);

    $sql2 = 'INSERT INTO reactie(werknemerID, vacatureID, datum, tijd, motivatie) VALUES(' . $werknemerid . ', ' . $vacatureid . ', '. $date .', '. $time .', ' . $motivatie . ')';
    //$sql2 = 'INSERT INTO vacature(werkgeverID, datum, functie, omschrijvingKort, omschrijving, isActief) VALUES(1, 'DATE()', 'beveiliger', 'beveiliger gezocht', 'beveiliger gezocht voor in de avonden', 1)';
    $db->exec($sql2);

    $_SESSION['motivatie'] = $_POST['motivatie'];

    //header('Location: ../geplaatst');
    echo $sql2;
    var_dump($_SESSION[$_GET['id']]['vvacatureid']);
    var_dump($_SESSION[$_GET['id']]['vfunctie']);
    var_dump($_SESSION[$_GET['id']]['vomschrijving']);

}
loginHandlerEstab($datum, $id, $vid, $tijd);

// als er een veld lee is gelaten wordt de error message emptybox opgeroepen.
if (checkEmpty($datum, $id, $vid, $functie, $omschrijving, $tijd) == 2)
{
    //header('Location: ../reactie?error=emptybox');        
}

?>

Does somebody know how to fix my problem?

UPDATE:

reaction form:

        <?php include("includes/header.php");
session_start(); 

if ($_SESSION['werknemerid'] == true){


if (isset($_GET['error'])){
    if ($_GET['error'] == "emptybox"){
        echo "<script>alert('U heeft iets niet ingevuld, kunt u dit even nakijken?');</script>";    
    }
}

include("php/loginHandlerconnect.php");
date_default_timezone_set("Europe/Amsterdam");

?>

        <div class="page-header">
            <div>
                <h1>Reactie plaatsen</h1>
            </div>
        </div>
    <div class="container">
        <div class="wrap6">
            <form class="form-horizontal" role="form" method="POST" action="php/reactiewerknemer.php">
                <div class="col-sm-8">
                <?php 
                    var_dump($_SESSION[$_GET['id']]['vvacatureid']);
                    var_dump($_SESSION[$_GET['id']]['vfunctie']);
                    var_dump($_SESSION[$_GET['id']]['vomschrijving']);
                ?>
                    <div class="form-group">
                        <label for="datum">Datum van plaatsing</label>
                        <p><?php echo date("d-m-Y h:i:s"); echo " " . $_SESSION[$_GET['id']]['v']; ?></p>
                    </div>
                    <div class="form-group">
                        <label for="datum">Functie</label>
                        <p><?php echo $_SESSION[$_GET['id']]['vfunctie']; ?></p>
                    </div>
                    <div class="form-group">
                        <label for="datum">Omschrijving</label>
                        <p><?php echo $_SESSION[$_GET['id']]['vomschrijving']; ?></p>
                    </div>
                    <div class="form-group">
                        <label for="motivatie">Motivatie</label>
                        <textarea class="form-control ckeditor" type="text" name="motivatie" id="motivatie" rows="5" value="<?php echo (isset($_POST['motivatie']) ? $_POST['motivatie'] : ""); ?>"required><?php echo (isset($_POST['motivatie']) ? $_POST['motivatie'] : ""); ?></textarea>
                    </div>
                    <br><br>
                    <div class="form-group">
                        <button class="btn btn-default pull-right" type="submit" name="plaats" id="plaats">Plaats reactie</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
<?php include("includes/footer.php");
}
else{
    header('Location: ../loginerror');
}?>
<script>
    window.onload = function() {        
        CKEDITOR.instances.motivatie.on( 'key', function() {
            var str = CKEDITOR.instances.motivatie.getData();
            if (str.length > 493) {
                CKEDITOR.instances.motivatie.setData(str.substring(0, 993));
            }
        } );
    };
</script>

我试图创建一个空缺的页面,让人们可以在。

我正在为动态页面的空缺加载数据。我想存储我在会话中选择的空缺的ID,以便我可以在页面上使用它来进行反应。我想这样做,因为我需要得到正确的反应,正确的空缺。

但我的问题是,我创建的会话总是得到的ID ID 18从我的数据库,而不是从正确的空缺,我选择的ID。

加载动态PHP代码的空缺:

            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<?php
 //include '../loginHandlerconnect.php';
    //include('php/loginHandlerconnect.php');

    //$db = loginHandlerconnect();

    $sql = 'SELECT * FROM vacature ORDER BY datum DESC'; 
    $results = $db->query($sql);

    foreach($results as $row) 
    {           
        $id = $row['vacatureID'];
        $werkgeverid = $row['werkgeverID'];
        $functie = $row['functie'];
        $vacatureDatum = $row['datum'];
        $vacatureDatum = date("d-m-Y", strtotime($vacatureDatum)); // $vacatureDatum omdraaien van Y-m-d naar d-m-Y
        $omschrijvingkort = $row['omschrijvingKort'];
        $omschrijving = $row['omschrijving'];

        $_SESSION[$id]['vvacatureid'] = $id;
        $_SESSION[$id]['vwerkgeverid'] = $werkgeverid;
        $_SESSION[$id]['vfunctie'] = $functie;
        $_SESSION[$id]['vdatum'] = $vacatureDatum;
        $_SESSION[$id]['vomschrijvingkort'] = $omschrijvingkort;

        $sql = 'SELECT * FROM werkgever WHERE werkgeverID = '. $werkgeverid .' LIMIT 1';

        $results = $db->query($sql);
        foreach($results as $row) 
        {  
            $bedrijfimage = $row['image'];
            $bedrijfnaam = $row['naamBedrijf'];
            $plaats = $row['plaats'];
            $provincie = $row['provincie'];

            $_SESSION['vomschrijving'] = $omschrijving;
            $_SESSION['vimage'] = $bedrijfimage;
            $_SESSION['vnaambedrijf'] = $bedrijfnaam;
            $_SESSION['vplaats'] = $plaats;
            $_SESSION['vprovincie'] = $provincie;
        } 
        //$string = strip_tags($string);

        if (strlen($functie) > 20) {

            // truncate string
            $stringCut = substr($functie, 0, 20);

            // make sure it ends in a word so assassinate doesn't become ass...
            $functie = substr($stringCut, 0, strrpos($stringCut, ' ')).'...'; 
        }
        if (strlen($bedrijfnaam) > 25) {

            // truncate string
            $stringCut2 = substr($bedrijfnaam, 0, 14);

            // make sure it ends in a word so assassinate doesn't become ass...
            $bedrijfnaam = substr($stringCut2, 0, strrpos($stringCut2, ' ')).'...'; 
        }
        if (strlen($omschrijvingkort) > 63) {

            // truncate string
            $stringCut2 = substr($omschrijvingkort, 0, 63);

            // make sure it ends in a word so assassinate doesn't become ass...
            $omschrijvingkort = substr($stringCut2, 0, strrpos($stringCut2, ' ')).'...'; 
        }

        echo 
        "
            <div class='vacatureinfo2'>
                <img class='userimg2' src='../../uploads/userimage/". $bedrijfimage ."' id='imge'/>
                <p class='func-br-pl pull-left'>". $functie ." - ". $bedrijfnaam ." - ". $plaats ."</p><p class='dtm pull-right'>". $vacatureDatum ."</p>
                <div class='omschrijvingkort2'>
                    ". $omschrijvingkort ."
                </div>
                <p class='pull-right'><a href='reactie?id=" . $id . "'>Reageer</a> | <a href='informatie-vacature'>Meer informatie</a></p>
            </div>
            <hr>
        ";
    } 



//echo "<div id='weergavebericht'></div>";
?>

该反应的PHP代码:

    <?php 
session_start();
/*
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
*/

include("loginHandlerconnect.php");

// variables voor datum/tijd en werkgeverID aanmaken zodat deze in de sql query meegenomen kunnen worden.
date_default_timezone_set("Europe/Amsterdam"); //tijdzone voor goede tijdsweergave
$datum = date("d-m-Y");
$tijd = date("h:i:s");
$id = $_SESSION['werknemerid'];
$vid = $_SESSION[$_GET['id']]['vvacatureid'];
$functie = $_SESSION[$_GET['id']]['vfunctie'];
$omschrijving = $_SESSION[$_GET['id']]['vomschrijving'];
// functie om te kijken of de variabelen niet leeg zijn.
function checkEmpty($datum, $id, $vid, $functie, $omschrijving, $tijd) 
{   
    $datumcheck = $datum;
    $tijdcheck = $tijd;
    $werknemercheck = $id;
    $vacaturecheck = $vid;
    $functiecheck = $functie;
    $omschrijvingcheck = $omschrijving;
    $motivatiecheck = $_POST['motivatie'];


    if (empty($datumcheck) || empty($tijdcheck) || empty($werknemercheck) || empty($vacaturecheck) || empty($functiecheck) || empty($omschrijvingcheck) || empty($motivatiecheck))
    {
        echo "empty box";
        return 2;   
    }
}
checkEmpty($datum, $id, $vid, $functie, $omschrijving, $tijd);

// functie om data naar database te schrijven.
function loginHandlerEstab ($datum, $id, $vid, $tijd)
{
    $db = loginHandlerconnect();
    $werknemerid = $db->quote($id);
    $vacatureid = $db->quote($vid);
    $date = $db->quote(date('Y-m-d', strtotime($datum)));
    $time = $db->quote(date('h:i:s', strtotime($tijd)));
    $motivatie = $db->quote($_POST['motivatie']);

    $sql2 = 'INSERT INTO reactie(werknemerID, vacatureID, datum, tijd, motivatie) VALUES(' . $werknemerid . ', ' . $vacatureid . ', '. $date .', '. $time .', ' . $motivatie . ')';
    //$sql2 = 'INSERT INTO vacature(werkgeverID, datum, functie, omschrijvingKort, omschrijving, isActief) VALUES(1, 'DATE()', 'beveiliger', 'beveiliger gezocht', 'beveiliger gezocht voor in de avonden', 1)';
    $db->exec($sql2);

    $_SESSION['motivatie'] = $_POST['motivatie'];

    //header('Location: ../geplaatst');
    echo $sql2;
    var_dump($_SESSION[$_GET['id']]['vvacatureid']);
    var_dump($_SESSION[$_GET['id']]['vfunctie']);
    var_dump($_SESSION[$_GET['id']]['vomschrijving']);

}
loginHandlerEstab($datum, $id, $vid, $tijd);

// als er een veld lee is gelaten wordt de error message emptybox opgeroepen.
if (checkEmpty($datum, $id, $vid, $functie, $omschrijving, $tijd) == 2)
{
    //header('Location: ../reactie?error=emptybox');        
}

?>

有人知道如何解决我的问题吗?

更新:

反应形式:

        <?php include("includes/header.php");
session_start(); 

if ($_SESSION['werknemerid'] == true){


if (isset($_GET['error'])){
    if ($_GET['error'] == "emptybox"){
        echo "<script>alert('U heeft iets niet ingevuld, kunt u dit even nakijken?');</script>";    
    }
}

include("php/loginHandlerconnect.php");
date_default_timezone_set("Europe/Amsterdam");

?>

        <div class="page-header">
            <div>
                <h1>Reactie plaatsen</h1>
            </div>
        </div>
    <div class="container">
        <div class="wrap6">
            <form class="form-horizontal" role="form" method="POST" action="php/reactiewerknemer.php">
                <div class="col-sm-8">
                <?php 
                    var_dump($_SESSION[$_GET['id']]['vvacatureid']);
                    var_dump($_SESSION[$_GET['id']]['vfunctie']);
                    var_dump($_SESSION[$_GET['id']]['vomschrijving']);
                ?>
                    <div class="form-group">
                        <label for="datum">Datum van plaatsing</label>
                        <p><?php echo date("d-m-Y h:i:s"); echo " " . $_SESSION[$_GET['id']]['v']; ?></p>
                    </div>
                    <div class="form-group">
                        <label for="datum">Functie</label>
                        <p><?php echo $_SESSION[$_GET['id']]['vfunctie']; ?></p>
                    </div>
                    <div class="form-group">
                        <label for="datum">Omschrijving</label>
                        <p><?php echo $_SESSION[$_GET['id']]['vomschrijving']; ?></p>
                    </div>
                    <div class="form-group">
                        <label for="motivatie">Motivatie</label>
                        <textarea class="form-control ckeditor" type="text" name="motivatie" id="motivatie" rows="5" value="<?php echo (isset($_POST['motivatie']) ? $_POST['motivatie'] : ""); ?>"required><?php echo (isset($_POST['motivatie']) ? $_POST['motivatie'] : ""); ?></textarea>
                    </div>
                    <br><br>
                    <div class="form-group">
                        <button class="btn btn-default pull-right" type="submit" name="plaats" id="plaats">Plaats reactie</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
<?php include("includes/footer.php");
}
else{
    header('Location: ../loginerror');
}?>
<script>
    window.onload = function() {        
        CKEDITOR.instances.motivatie.on( 'key', function() {
            var str = CKEDITOR.instances.motivatie.getData();
            if (str.length > 493) {
                CKEDITOR.instances.motivatie.setData(str.substring(0, 993));
            }
        } );
    };
</script>
answer1: 回答1:

There are a lot of things wrong with your code, I don't know if this is a school project or for a genuine business, but I would recommend rewriting the code.. Preferably have a look at object oriented coding or at least split all your work up in different functions.

That being said, some hints:

It looks like you are first getting all vacatures from the database, and then adding the correct werkgever to each record. This can easily be done within one query, saving a lot of foreaches:

SELECT vacatures.*, werkgever.image,werkgever.plaats, werkgever.provincie, werkgever.naamBedrijf FROM vacatures LEFT JOIN werkgever ON (werkgever.werkgeverID = vacatures.werkgeverID)

now you have all vacatures with company details.

$_SESSION[$id]['vvacatureid'] = $id;

Is outside of the foreach loop you created, so it will always contain the last result of that foreach loop.

I will add some rewriting here later for you.

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<?php
    include('php/loginHandlerconnect.php');


    $db = loginHandlerconnect();
    $sql = 'SELECT vacatures.*, werkgever.image, werkgever.plaats, werkgever.provincie, werkgever.naamBedrijf  FROM vacatures LEFT JOIN werkgever ON (vacatures.werkgeverID = werkgever.werkgeverID)'; 
    $results = $db->query($sql);


    /*
    * Nu hebben we een resultset met de volgende data per row
    * vacatureID
    * werkgeverID
    * functie
    * datum
    * omschrijvingKort
    * omschrijving
    * image (werkgever)
    * plaats (werkgever)
    * provincie (werkgever)
    * naamBedrijf (werkgever)
    */
    foreach($results as $row) 
    {           
       //Clean record
        cleanRecord($row);
        echo generateDiv($row);
    } 


//echo "<div id='weergavebericht'></div>";

/**
* Not a fan of this function, but I´m not going to rewrite these, for now it will work for you
**/
function cleanRecord($row)
{
     if (strlen($row['functie']) > 20) {

            // truncate string
            $stringCut = substr($row['functie'], 0, 20);

            // make sure it ends in a word so assassinate doesn't become ass...
            $row['functie'] = substr($stringCut, 0, strrpos($stringCut, ' ')).'...'; 
        }
        if (strlen($row['naamBedrijf']) > 25) {

            // truncate string
            $stringCut2 = substr($row['naamBedrijf'], 0, 14);

            // make sure it ends in a word so assassinate doesn't become ass...
            $row['naamBedrijf'] = substr($stringCut2, 0, strrpos($stringCut2, ' ')).'...'; 
        }
        if (strlen($row['omschrijvingKort']) > 63) {

            // truncate string
            $stringCut2 = substr($row['omschrijvingKort'], 0, 63);

            // make sure it ends in a word so assassinate doesn't become ass...
            $row['omschrijvingKort'] = substr($stringCut2, 0, strrpos($stringCut2, ' ')).'...'; 
        }

        return $row;
}
    function generateDiv($row)
    {
        $date = date("d-m-Y", strtotime($row['datum']));
        return "
            <div class='vacatureinfo2'>
                <img class='userimg2' src='../../uploads/userimage/". $row['image'] ."' id='imge'/>
                <p class='func-br-pl pull-left'>". $row['functie'] ." - ". $row['naamBedrijf'] ." - ". $row['plaats'] ."</p><p class='dtm pull-right'>". $data ."</p>
                <div class='omschrijvingkort2'>
                    ". $row['omschrijvingKort'] ."
                </div>
                <p class='pull-right'><a href='reactie?id=" . $row['vacatureID'] . "'>Reageer</a> | <a href='informatie-vacature'>Meer informatie</a></p>
            </div>
            <hr>
        ";
    }
?>  

You don´t need to set all variables into the SESSION, you get the id on the next page, and can just run the query again to load the correct vacature data.

有很多东西错了你的代码,我不知道这是一个学校项目或一个真正的业务,但我建议重写代码..最好看一下面向对象的编码,或者至少把你的工作分成不同的功能。

也就是说,一些提示:

It looks like you are first getting all vacatures from the database, and then adding the correct werkgever to each record. This can easily be done within one query, saving a lot of foreaches:

SELECT vacatures.*, werkgever.image,werkgever.plaats, werkgever.provincie, werkgever.naamBedrijf FROM vacatures LEFT JOIN werkgever ON (werkgever.werkgeverID = vacatures.werkgeverID)

现在你已经vacatures公司详情。

$_SESSION[$id]['vvacatureid'] = $id;

是你创造了foreach循环之外,所以它总是包含,foreach循环最后的结果。

我稍后会给你添加一些重写。

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<?php
    include('php/loginHandlerconnect.php');


    $db = loginHandlerconnect();
    $sql = 'SELECT vacatures.*, werkgever.image, werkgever.plaats, werkgever.provincie, werkgever.naamBedrijf  FROM vacatures LEFT JOIN werkgever ON (vacatures.werkgeverID = werkgever.werkgeverID)'; 
    $results = $db->query($sql);


    /*
    * Nu hebben we een resultset met de volgende data per row
    * vacatureID
    * werkgeverID
    * functie
    * datum
    * omschrijvingKort
    * omschrijving
    * image (werkgever)
    * plaats (werkgever)
    * provincie (werkgever)
    * naamBedrijf (werkgever)
    */
    foreach($results as $row) 
    {           
       //Clean record
        cleanRecord($row);
        echo generateDiv($row);
    } 


//echo "<div id='weergavebericht'></div>";

/**
* Not a fan of this function, but I´m not going to rewrite these, for now it will work for you
**/
function cleanRecord($row)
{
     if (strlen($row['functie']) > 20) {

            // truncate string
            $stringCut = substr($row['functie'], 0, 20);

            // make sure it ends in a word so assassinate doesn't become ass...
            $row['functie'] = substr($stringCut, 0, strrpos($stringCut, ' ')).'...'; 
        }
        if (strlen($row['naamBedrijf']) > 25) {

            // truncate string
            $stringCut2 = substr($row['naamBedrijf'], 0, 14);

            // make sure it ends in a word so assassinate doesn't become ass...
            $row['naamBedrijf'] = substr($stringCut2, 0, strrpos($stringCut2, ' ')).'...'; 
        }
        if (strlen($row['omschrijvingKort']) > 63) {

            // truncate string
            $stringCut2 = substr($row['omschrijvingKort'], 0, 63);

            // make sure it ends in a word so assassinate doesn't become ass...
            $row['omschrijvingKort'] = substr($stringCut2, 0, strrpos($stringCut2, ' ')).'...'; 
        }

        return $row;
}
    function generateDiv($row)
    {
        $date = date("d-m-Y", strtotime($row['datum']));
        return "
            <div class='vacatureinfo2'>
                <img class='userimg2' src='../../uploads/userimage/". $row['image'] ."' id='imge'/>
                <p class='func-br-pl pull-left'>". $row['functie'] ." - ". $row['naamBedrijf'] ." - ". $row['plaats'] ."</p><p class='dtm pull-right'>". $data ."</p>
                <div class='omschrijvingkort2'>
                    ". $row['omschrijvingKort'] ."
                </div>
                <p class='pull-right'><a href='reactie?id=" . $row['vacatureID'] . "'>Reageer</a> | <a href='informatie-vacature'>Meer informatie</a></p>
            </div>
            <hr>
        ";
    }
?>  

你不´不需要设置所有的变量到会话,你的ID在下一页,就可以再次运行查询来加载正确的vacature数据。

php  session