2016-03-08 43 views
0

在Ubuntu PostgreSQL的工作。與HTML/PHP PostgreSQL數據庫介紹數據 - Ubuntu的

我想通過這樣的形式,HTML與PHP插入我的PostgreSQL數據庫的數據。

下面是HTML代碼:

<html> 
<body> 
    <form action="add.php" method="post"> 
     First Name : <input type="text" name="firstname" size="40" length="40" value="First Name"><BR> 
     Surname : <input type="text" name="surname" size="40" length="40" value="Surname"><BR> 
     Email Address : <input type="text" name="emailaddress" size="40" length="40" value="Email Address"><BR> 
     <input type="submit" name="submit" value="Submit"> 
     <input type="reset" name="reset" value="Clear It"> 
    </form> 
</body> 
</html> 

<form action="add.php" method="post"> 

這裏我的PHP文件:

<html> 
<body> 
    <?php 
    $db = pg_connect('host=localhost dbname=postgres user=myusername password=mypassword'); 

    $firstname = pg_escape_string($_POST['firstname']); 
    $surname = pg_escape_string($_POST['surname']); 
    $emailaddress = pg_escape_string($_POST['emailaddress']); 

    $query = "INSERT INTO friends(firstname, surname, emailaddress) VALUES('" . $firstname . "', '" . $surname . "', '" . $emailaddress . "')"; 
    $result = pg_query($query); 
    if (!$result) { 
     $errormessage = pg_last_error(); 
     echo "Error with query: " . $errormessage; 
     exit(); 
    } 
    printf ("These values were inserted into the database - %s %s %s", $firstname, $surname, $emailaddress); 
    pg_close(); 
    ?> 
</body> 
</html> 

我坐的文件夾中的文件,\ VAR \ WWW \ HTML \ Apache正在運行,我有我的數據庫設置使用。

當我打開.html文件介紹了一些數據,然後單擊在編輯器中,而不是將數據發送到數據庫「提交」其開放的PHP文件。我檢查數據庫,它是空的,沒有任何介紹。

這是按 「提交」

enter image description here

更新時,會發生什麼情況printshoot:

下面是從本地主機的screenshoot(接縫Apache的運行狀態及工作)

enter image description here

他再在ports.conf的screenshoot文件

enter image description here

和下面的apache2.conf文件。請讓我知道是否有進一步的信息需要它。我是新來的。我真的很感謝你的幫助

# Summary of how the Apache 2 configuration works in Debian: 
# The Apache 2 web server configuration in Debian is quite different to 
# upstream's suggested way to configure the web server. This is because  Debian's 
# default Apache2 installation attempts to make adding and removing   modules, 
# virtual hosts, and extra configuration directives as flexible as  possible, in 
# order to make automating the changes and administering the server as easy as 
# possible. 

# It is split into several files forming the configuration hierarchy outlined 
# below, all located in the /etc/apache2/ directory: 
# 
# /etc/apache2/ 
# |-- apache2.conf 
# | `-- ports.conf 
# |-- mods-enabled 
# | |-- *.load 
# | `-- *.conf 
# |-- conf-enabled 
# | `-- *.conf 
# `-- sites-enabled 
#  `-- *.conf 
# 
# 
# * apache2.conf is the main configuration file (this file). It puts the pieces 
# together by including all remaining configuration files when starting up the 
# web server. 

# * ports.conf is always included from the main configuration file. It is 
# supposed to determine listening ports for incoming connections which can be 
# customized anytime. 

# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ 
# directories contain particular configuration snippets which manage modules, 
# global configuration fragments, or virtual host configurations, 
# respectively. 

# They are activated by symlinking available configuration files from their 
# respective *-available/ counterparts. These should be managed by using our 
# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See 
# their respective man pages for detailed information. 

# * The binary is called apache2. Due to the use of environment variables, in 
# the default configuration, apache2 needs to be started/stopped with 
# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not 
# work with the default configuration. 


# Global configuration 



# ServerRoot: The top of the directory tree under which the server's 
# configuration, error, and log files are kept. 

# NOTE! If you intend to place this on an NFS (or otherwise network) 
# mounted filesystem then please read the Mutex documentation (available 
# at <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>); 
# you will save yourself a lot of trouble. 

# Do NOT add a slash at the end of the directory path. 

#ServerRoot "/etc/apache2" 


# The accept serialization lock file MUST BE STORED ON A LOCAL DISK. 

Mutex file:${APACHE_LOCK_DIR} default 


# PidFile: The file in which the server should record its process 
# identification number when it starts. 
# This needs to be set in /etc/apache2/envvars 

PidFile ${APACHE_PID_FILE} 


# Timeout: The number of seconds before receives and sends time out. 

Timeout 300 


# KeepAlive: Whether or not to allow persistent connections (more than 
# one request per connection). Set to "Off" to deactivate. 

KeepAlive On 


# MaxKeepAliveRequests: The maximum number of requests to allow 
# during a persistent connection. Set to 0 to allow an unlimited amount. 
# We recommend you leave this number high, for maximum performance. 

MaxKeepAliveRequests 100 


# KeepAliveTimeout: Number of seconds to wait for the next request from the 
# same client on the same connection. 

KeepAliveTimeout 5 


# These need to be set in /etc/apache2/envvars 
User ${APACHE_RUN_USER} 
Group ${APACHE_RUN_GROUP} 


# HostnameLookups: Log the names of clients or just their IP addresses 
# e.g., www.apache.org (on) or 204.62.129.132 (off). 
# The default is off because it'd be overall better for the net if people 
# had to knowingly turn this feature on, since enabling it means that 
# each client request will result in AT LEAST one lookup request to the 
# nameserver. 

HostnameLookups Off 

# ErrorLog: The location of the error log file. 
# If you do not specify an ErrorLog directive within a <VirtualHost> 
# container, error messages relating to that virtual host will be 
# logged here. If you *do* define an error logfile for a <VirtualHost> 
# container, that host's errors will be logged there and not here. 

ErrorLog ${APACHE_LOG_DIR}/error.log 


# LogLevel: Control the severity of messages logged to the error_log. 
# Available values: trace8, ..., trace1, debug, info, notice, warn, 
# error, crit, alert, emerg. 
# It is also possible to configure the log level for particular modules, e.g. 
# "LogLevel info ssl:warn" 

LogLevel warn 

# Include module configuration: 
IncludeOptional mods-enabled/*.load 
IncludeOptional mods-enabled/*.conf 

# Include list of ports to listen on 
Include ports.conf 


# Sets the default security model of the Apache2 HTTPD server. It does 
# not allow access to the root filesystem outside of /usr/share and /var/www. 
# The former is used by web applications packaged in Debian, 
# the latter may be used for local directories served by the web server. If 
# your system is serving content from a sub-directory in /srv you must allow 
# access here, or in any related virtual host. 
<Directory /> 
Options FollowSymLinks 
AllowOverride None 
Require all denied 
</Directory> 

<Directory /usr/share> 
AllowOverride None 
Require all granted 
</Directory> 

<Directory /var/www/> 
Options Indexes FollowSymLinks 
AllowOverride None 
Require all granted 
</Directory> 

#<Directory /srv/> 
# Options Indexes FollowSymLinks 
# AllowOverride None 
# Require all granted 
#</Directory> 


# AccessFileName: The name of the file to look for in each directory 
# for additional configuration directives. See also the AllowOverride 
# directive. 

AccessFileName .htaccess 


# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 

<FilesMatch "^\.ht"> 
Require all denied 
</FilesMatch> 


# The following directives define some format nicknames for use with 
# a customLog directive. 

# These deviate from the Common Log Format definitions in that they use %O 
# (the actual bytes sent including headers) instead of %b (the size of the 
# requested file), because the latter makes it impossible to detect partial 
# requests. 

# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. 
# Use mod_remoteip instead. 

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined 
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined 
LogFormat "%h %l %u %t \"%r\" %>s %O" common 
LogFormat "%{Referer}i -> %U" referer 
LogFormat "%{User-agent}i" agent 

# Include of directories ignores editors' and dpkg's backup files, 
# see README.Debian for details. 

# Include generic snippets of statements 
IncludeOptional conf-enabled/*.conf 

# Include the virtual host configurations: 
IncludeOptional sites-enabled/*.conf 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

非常感謝您

+0

這是一個Web服務器配置問題,它不知道如何處理PHP文件。嘗試使用PHP的獨立服務器('php -S') – greg

+0

請問你能更具體嗎?我有點迷路。我在終端中輸入了php-S,它提供了一堆命令,但我不確定你建議我做什麼。非常感謝你 – Samuel

回答

0

第一個參數在pg_query功能應該是連接,然後將查詢字符串。

http://php.net/manual/en/function.pg-query.php

所以:$result = pg_query($db,$query);


UPDATE:

基於新的截圖,沒有被執行你的PHP腳本,因爲你與它是如何配置的問題。您需要發佈更多關於Web服務器配置的信息(Apache,Nginx等)。

+0

謝謝你的建議。我改變了我仍然有同樣的問題。 – Samuel

+0

請使用Apache的配置文件在原始文章中找到更新。非常感謝 – Samuel

0

好吧,我讓工作。

這只是我正在運行無功/ www/html等/ file.html,我不得不跑

本地主機/文件。html

謝謝