예제 #1
0
파일: CBlog.php 프로젝트: rcus/javascript
 /**
  * Save data for a post
  *
  * @return string Info in HTML
  */
 private function SavePost()
 {
     // The post must have a title
     if (empty($_POST['title'])) {
         return "<p>Inlägget måste ha en titel. <a href='#' onclick='javascript:history.back();return false;'>Gå tillbaka</a></p>";
     }
     // Get and prepare values
     $values = $_POST;
     unset($values['save']);
     $values['title'] = "'" . htmlentities(strip_tags($values['title']), ENT_QUOTES) . "'";
     $values['content'] = "'" . htmlentities($values['content'], ENT_QUOTES) . "'";
     // SQL for insert new post
     if (empty($values['postId'])) {
         unset($values['postId']);
         $sql = "INSERT INTO rm_BlogPost (" . implode(", ", array_keys($values)) . ") VALUES " . "(" . implode(", ", array_values($values)) . ")";
     } else {
         $postId = $values['postId'];
         unset($values['postId']);
         $sql = "UPDATE rm_BlogPost SET ";
         foreach ($values as $key => $val) {
             $sql .= $key . " = " . $val . ", ";
         }
         $sql = rtrim($sql, ", ");
         $sql .= " WHERE postId = {$postId}";
     }
     // Execute the SQL
     parent::ExecuteQuery($sql);
     // Get id for new post
     if (!isset($postId)) {
         $postId = parent::LastInsertId();
     }
     // Return some content
     $html = "<p>Kanon, det fungerade!</p>" . "<p>Du kan nu <a href='./news.php?show={$postId}'>visa</a> eller <a href='./news.php?edit={$postId}'>redigera</a> inlägget, <a href='./news.php?add'>skriva nytt</a> inlägg eller gå tillbaka till <a href='./news.php'>nyhetssidan</a>.</p>";
     return $html;
 }
예제 #2
0
파일: test.php 프로젝트: bthurvi/oophp
// 9.2 Endast första parametern (SQL-frågan) är obligatorisk, övriga frivilliga
// 9.3 Metoden returnerar true eller false beroende på om frågan lyckades eller ej
// 10 En SQL-query för att lägga till en film
$qry = 'INSERT INTO movie(title,year) VALUES(?,?)';
// 11. Skapar en array som innehåller de värden för filmen som ska läggas in
$params = array('Terminator 5', 2015);
// 12. Anropar ExecuteQuery()
$res = $dbh->ExecuteQuery($qry, $params);
// 13. Använder dump() samt var_dump() för att skriva ut $res.
dump($res);
echo var_dump($res);
// 13.1 dump returnerade 1 och var_dump returnerade bool(true)
// 13.2 Det betyder att insättningen lyckades
// 14. Läste om  CDatabase::LastInsertId()
// 15. Anropa och skriv ut resultatet av LastInsertId()
echo "last insert id:" . $dbh->LastInsertId();
// 15.1 ID:t blev i detta fall 12
// 16. Skriver och kör delete-query
$qry = 'DELETE FROM movie WHERE YEAR = ?';
$params = array('2015');
$res = $dbh->ExecuteQuery($qry, $params);
// 17. Använder dump() och var_dump()
dump($res);
var_dump($res);
// 17.1 Först returnerades false (men sedan ändrade jag frågan till litet fältnamn year och ett likhetstecken och då funkade det) sedan ändrade jag tillbaka
// 17.2 Att false returnerades beror på på att nått gick fel
// 18. Läste i CDatabase om ErrorCode() och ErrorInfo()
// 19. Anropa och skriv ut resultatet av ErrorCode() och ErrorInfo().
echo "ErrorCode: " . $dbh->ErrorCode();
var_dump($dbh->ErrorInfo());
// 19.1 Felkod 42000 visas
예제 #3
0
파일: CMovies.php 프로젝트: rcus/javascript
 /**
  * Save data for a movie
  *
  * @return string Info in HTML
  */
 private function SaveMovie()
 {
     // Movie must have title and at least one genre
     if (empty($_POST['title'])) {
         return "<p>Filmen måste ha en titel. <a href='#' onclick='javascript:history.back();return false;'>Gå tillbaka</a></p>";
     }
     if (empty($_POST['genre'])) {
         return "<p>Filmen måste minst ha en genre vald. <a href='#' onclick='javascript:history.back();return false;'>Gå tillbaka</a></p>";
     }
     // Get values
     $values = $_POST;
     $genres = $values['genre'];
     unset($values['genre']);
     // Unset some values, prepare as string for some others
     foreach ($values as $key => $val) {
         if (in_array($key, array('save', 'year', 'price')) && !is_numeric($val) || empty($val)) {
             unset($values[$key]);
         } elseif (!is_numeric($val)) {
             $values[$key] = "'" . htmlentities(strip_tags($val), ENT_QUOTES) . "'";
         }
     }
     // SQL for insert new movie
     if (empty($values['id'])) {
         unset($values['id']);
         $sql = "INSERT INTO rm_Movie (" . implode(", ", array_keys($values)) . ") VALUES " . "(" . implode(", ", array_values($values)) . ")";
         // $id = parent::LastInsertId();
     } else {
         $id = $values['id'];
         unset($values['id']);
         $sql = "UPDATE rm_Movie SET ";
         foreach ($values as $key => $val) {
             $sql .= $key . " = " . $val . ", ";
         }
         $sql = rtrim($sql, ", ");
         $sql .= " WHERE id = {$id}";
     }
     // Execute the SQL
     parent::ExecuteQuery($sql);
     // Get id for new movie ...
     if (!isset($id)) {
         $id = parent::LastInsertId();
     } else {
         $sql = "DELETE FROM rm_Movie2Genre WHERE idMovie = {$id}";
         parent::ExecuteQuery($sql);
     }
     // Make array of all genres with their id's
     $sql = "SELECT * FROM rm_Genre";
     $allGenres = parent::ExecuteSelectQueryAndFetchAll($sql);
     foreach ($allGenres as $val) {
         $genreId[$val->id] = $val->name;
     }
     // Make array with genreId for current movie
     foreach ($genres as $val) {
         $insVal[] = "({$id}, " . array_search($val, $genreId) . ")";
     }
     // Insert genres into database
     $sql = "INSERT INTO rm_Movie2Genre (idMovie, idGenre) VALUES " . implode(", ", $insVal);
     parent::ExecuteQuery($sql);
     // Return some content
     $html = "<p>Kanon, det fungerade!</p>" . "<p>Du kan nu <a href='./movies.php?show={$id}'>visa</a> eller <a href='./movies.php?edit={$id}'>redigera</a> filmen, <a href='./movies.php?add'>lägga till</a> ny film eller gå tillbaka till <a href='./movies.php'>filmlistan</a>.</p>";
     return $html;
 }
예제 #4
0
파일: newmovie.php 프로젝트: bthurvi/oophp
if ($acronym == null) {
    echo <<<EOD
<div style=" border: 1px solid #777; border-radius: 3px; padding: 10px 20px;">
    <h2 style="margin-top: 0;">Du måste vara inloggad för att få skapa ny film</h2>
    <p>Använd menyn uppe till höger på denna sida.</p>
</div>
EOD;
} else {
    // Check if form was submitted
    if ($create) {
        $sql = 'INSERT INTO oophp0710_movie (title,year) VALUES (?,?)';
        $params = array($title, $year);
        $db->ExecuteQuery($sql, $params);
        $db->SaveDebug();
        $sql2 = 'INSERT INTO oophp0710_movie2genre(idMovie,idGenre) VALUES (?,?)';
        $lastInsertId = $db->LastInsertId();
        $params2 = array($lastInsertId, 1);
        $db->ExecuteQuery($sql2, $params2);
        $db->SaveDebug();
        $sql3 = 'INSERT INTO oophp0710_movie2image(movie_id,image_id) VALUES (?,?)';
        $params3 = array($lastInsertId, 1);
        $db->ExecuteQuery($sql3, $params3);
        $db->SaveDebug();
        echo "Ny film sparad. <a href='?p=updatemovie' class='aButton'>Editera</a>";
    } else {
        //var_dump($user->isAdmin());
        $disabled = '';
        $info = '';
        if (!$user->isAdmin()) {
            $disabled = "disabled";
            $info = "<p> Du kan inte editera eftersom du inte är administratör.</p>";