Na sam początek podam kod źródłowy
<?php
define('DBHOST', 'ukrylemwposcie.home.pl'); define('DBUSER', 'ukrylemwposcie_komunikator'); define('DBPASS', 'ukrylemwposcie'); define('DBNAME', 'ukrylemwposcie_komunikator');
if ( !$conn ) {
}
if ( !$dbcon ) {
}
<?php
require_once 'dbconnect.php';
if( !isset($_SESSION['user']) ) { header("Location: index.php"); }
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']); $message=mysql_query("SELECT * FROM `posts` ORDER BY `idm` DESC");
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Witaj -
<?php echo $userRow['userName']; ?></title>
<link rel="stylesheet" href="assets/css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="">
<?php echo $userRow['userName']; ?></a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<ul class="nav navbar-nav navbar-right">
<li><a href="logout.php?logout"><span class="glyphicon glyphicon-log-out"></span> Wyloguj się</a></li>
</ul>
</ul>
</div>
</div>
</nav>
<div id="wrapper">
<div class="container">
{?>
<table class="table table-striped">
<thead>
<tr>
<th>
<? echo $messageRow["userEmail"] ?></th>
<th>Czas</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<? echo $messageRow["message"] ?></td>
<td>
<? echo $messageRow["time"] ?></td>
</tr>
</tbody>
</table>
<?php }
;?>
<?php $add=mysqli_query("INSERT INTO post (message, userEmail) VALUES ('$_POST[message]', '{$_SESSION['userEmail']}')") ; ?>
<div class="container">
<form action="home.php" method="POST" class="form-inline">
<div class="form-group">
<input type="text" class="form-control" name="message">
</div>
<button type="submit" class="btn btn-primary">Wyślij</button>
</form>
</div>
</div>
</div>
<script src="assets/jquery-1.11.3-jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
</body>
</html>
tabele w bazie
CREATE TABLE `posts` (
`idm` INT(11) NOT NULL,
`message` LONGTEXT NOT NULL,
`time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`userEmail` TINYTEXT NOT NULL,
PRIMARY KEY (`idm`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
CREATE TABLE `users` (
`userId` INT(11) NOT NULL AUTO_INCREMENT,
`userName` VARCHAR(30) NOT NULL,
`userEmail` VARCHAR(60) NOT NULL,
`userPass` VARCHAR(255) NOT NULL,
PRIMARY KEY (`userId`),
UNIQUE INDEX `userEmail` (`userEmail`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=26
;
Po zalogowaniu skrypt przenosi użytkownika do home.php, gdzie w tabeli bootstrapa pokazuje wszystkie posty użytkowników w kolejności od najwcześniejszego.
Jako początkujący w php nie rozumiem w jaki sposób stworzyć kolejną kwerendę INSERT wywołaną przyciskiem Wyślij.
Wszystkie przykłady pokazują zawsze tylko jedno połączenie z bazą i jedną kwerend na plik *.php,
w jaki sposób tworzy się kilka "mysql_query" w jednym skupcie. Z jednej strony w tym przykładzie mam koło siebie dwie linijki
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']); $message=mysql_query("SELECT * FROM `posts` ORDER BY `idm` DESC");
które funkcjonują poprawnie, pierwsza podaje login zalogowanego użytkownika, druga wypełnia zawartość tabelki postami z tabeli posts
natomiast w linii 66 znajduje się wspomniana kwerenda INSERT, niestety dostaje błąd Warning: mysqli_query() expects at least 2 parameters, 1 given in /komunikator/home.php on line 66 kompletnie nie rozumiem dlaczego
Ten post edytował Delleg 8.12.2016, 11:51:51