본문 바로가기

라즈베리 파이4/서버

웹 브라우저로 php 동작 테스트

다음 두 개의 php 파일이 필요합니다.

 

- dbcon.php : Mysql 서버 접속을 위해 사용되는 코드

- insert.php : 지정해 놓은 db의 테이블에 데이터를 저장하기 위해 사용

 

dbcon

<?php

    $host = 'localhost';
    $username = 'MySQL 계정 아이디'; 
    $password = '계정 패스워드‘;
    $dbname = 'DB 이름';


    $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
    
    try {

        $con = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8",$username, $password);
    } catch(PDOException $e) {

        die("Failed to connect to the database: " . $e->getMessage()); 
    }


    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

    if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { 
        function undo_magic_quotes_gpc(&$array) { 
            foreach($array as &$value) { 
                if(is_array($value)) { 
                    undo_magic_quotes_gpc($value); 
                } 
                else { 
                    $value = stripslashes($value); 
                } 
            } 
        } 
 
        undo_magic_quotes_gpc($_POST); 
        undo_magic_quotes_gpc($_GET); 
        undo_magic_quotes_gpc($_COOKIE); 
    } 
 
    header('Content-Type: text/html; charset=utf-8'); 
    #session_start();
?>

 

 

insert

<?php 

    error_reporting(E_ALL); 
    ini_set('display_errors',1); 

    include('dbcon.php');


    if( ($_SERVER['REQUEST_METHOD'] == 'POST') && isset($_POST['submit']))
    {

        $name=$_POST['name'];
        <br>$age=$_POST['age'];

        if(empty($name)){
            $errMSG = "이름을 입력하세요.";
        }
        else if(empty($age)){
            $errMSG = "나이를 입력하세요.";
        }

        if(!isset($errMSG))
        {
            try{
                $stmt = $con->prepare('INSERT INTO person(name, age) VALUES(:name, :age)');
                $stmt->bindParam(':name', $name);
                $stmt->bindParam(':age', $age);

                if($stmt->execute())
                {
                    $successMSG = "새로운 사용자를 추가했습니다.";
                }
                else
                {
                    $errMSG = "사용자 추가 에러";
                }

            } catch(PDOException $e) {
                die("Database error: " . $e->getMessage()); 
            }
        }

    }
?>

<html>
   <body>
        <?php 
        if (isset($errMSG)) echo $errMSG;
        if (isset($successMSG)) echo $successMSG;
        ?>
        
        <form action="<?php $_PHP_SELF ?>" method="POST">
            Name: <input type = "text" name = "name" />
            Age: <input type = "text" name = "age" /><br>
            <input type = "submit" name = "submit" />
        </form>
   
   </body>
</html>

 

1. 파일 생성

 

라즈베리 파이에서 

/var/www/html 경로에 위의 두 가지 파일을 생성합니다.

 

2. 접속

 

브라우저에서 ip주소/insert.ph 을 입력합니다

 

접속을 하게 되면 제출이 보이는데, 제출을 누르게 되면 새로운사용자를 추가했다는 메세지가 나옵니다.

 

출처 : https://webnautes.tistory.com/828?category=613155