質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.49%

  • PHP

    20781questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Smarty

    175questions

    Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

PHP smarty

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 646
退会済みユーザー

退会済みユーザー

smartyに接続ができません 環境はmacosでxamppを使用しています
また、もともとクラスで囲っていいたものを分解しようとしています。

smartyの位置は
/Applications/XAMPP/Smarty/libs/Smarty.class.php です

<?php
  2 require_once('d:/xampp/smarty/libs/Smarty.class.php');
  3 //require_once('Database.class.php');
  4 require_once('config.php');
  5 
  6 $smarty = new Smarty();
  7 $db = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
  8 //テンプレートディレクトリ指定
  9 $smarty->template_dir = '..¥templates¥board';
 10 $smarty->compile_dir = '..¥templates_c¥board';
 11 
 12 $msg = '';
 13 $err_msg = '';
 14 if(isset($_POST['send']) === true){
 15 $name = $_POST['name'];
 16 $contents = $_POST['contents'];
 17 
 18 if($name !== '' && $contents !== ''){
 19 $query = "INSERT INTO board ("
 20 ."name,"
 21 ."contents"
 22 .")VALUES("
 23 .$db->str_quote($name).","
 24 .$db->str_quote($contents)
 25 .")";
 26 $res = $db->execute($query);
 27 if($res !== false){
 28 $msg = '書き込みに成功しました';
 29 }else{
 30 $err_msg = '書き込みに失敗しました';
 31 }
 32 }else{
 33 $err_msg = '名前とコメントを記入してください';
 34 }
 35 }
$query = "SELECT"
 38 ."id,"
 39 ."name,"
 40 ."contents"
 41 ."FROM"
 42 ."board";
 43 
 44 $data = $db->select($query);
 45 $db->close();
 46 $smarty->assign('msg',$msg);
 47 $smarty->assign('err_msg',$err_msg);
 48 $smarty->assign('data',$data);
 49 
 50 $smarty->dispaly('board5.tpl');
 51 ?>
 52 <?php
 53 $this->db_con = $this->connectDB($db_host,$db_user,$db_pass,$db_name);
 54 $this->db_host = $db_host;
 55 $this->db_user = $db_user;
 56 $this->db_pass = $db_pass;
 57 $this->db_name = $db_name;
function connectDB($db_host,$db_user,$db_pass,$db_name)
 61 {
 62 
 63 $tmp->db_con = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
 64 
 65 if($tmp_con !== false){
 66 return $tmp_con;
 67 }else{
 68 printf("Connect failed: %s¥n", mysqli_connect_error());
 69 exit;
 70 }
 71 }
 72 
 73 function execute ($sql)
 74 {
 75 return mysqli_query($sql);
 76 }
 77 function select($sql)
 78 {
 79 $res = execute($sql);
 80 $data = array();
 81 while ($row = mysqli_fetch_array($res)){
 82 array_push($data,$row);
 83 }
 84 //mysql_free_result($res);
 85 return $data;
 86 }
 87 function quote($int)
 88 {
 89 return mysqli_real_escape_string($db_con , $int);
 90 }
 91 function str_quote($str)
 92 {
 93 return "'".mysqli_real_escape_string($db_con,$str)."'";
 94 }
function getLastld()
 97 {
 98 return mysqli_insert_insert_id($db_con);
 99 }
100 
101 function close()
102 {
103 mysqli_close($db_con);
104 }

エラーメッセージ
Warning: require_once(d:/xampp/smarty/libs/Smarty.class.php): failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/board/board5.php on line 2

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

require_once('d:/xampp/smarty/libs/Smarty.class.php');

require_once('/Applications/XAMPP/Smarty/libs/Smarty.class.php');

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/03 15:21

    ありがとうございます。ただ、もともとあったクラスを解体する方法がわからなくて
    難しいですね汗

    キャンセル

0

MAC版使ったことないんで もしかしたらディレクトリ構成が違うんですかね?
デフォルトでhtdocsがカレントディレクトリになるんで その中に配置されたPHPから見たSmarty.class.phpへのパスになりますから..
phpが配置されているディレクトリが htdocs直下だとすると

require 'libs/Smarty.class.php';


になると思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

関連した質問

同じタグがついた質問を見る

  • PHP

    20781questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Smarty

    175questions

    Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。