Gæstebog i PHP og MySQL
Hej NemProgrammering,
Jeg har lavet en gæstebog i PHP, men den virker ikke. Jeg har skrevet af fra en YouTube video (https://www.youtube.com/watch?v=fjb_XnxAoYg) hvor den virker. Kan nogen hjælpe mig?? Koden er:
<!DOCTYPE html>
<html>
<head>
<title>Raglas - Gæstebog</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="Styling af links.css">
</head>
<body>
<tr>
<td style="border-style: solid; border-width: medium">
<center>
<a href="http://raglas.dk/Gaestebog.php" style="Linkstyling">Vis tidligere indlæg</a><br/><a href="http://raglas.dk/Gaestebog.php?gb=true">Skriv et indlæg</a><hr>
<?php
if(isset($_GET['gb'])) {
echo"
<form action='' method='POST'>
Fornavn:<br>
<input type='text' name='name' autofocus=''><br>
Email:<br>
<input type'email' name='email'></br>
Besked:<br>
<textarea cols='20' rows='5' name='message'></textarea><br>
<input type='submit' name='submitBtn' value='OK'
</form>
";
if(isset($_POST['submitBtn'])){
//variables
$navn = $_POST['navn'];
$email = $_POST['email'];
$besked = $_POST['besked'];
$dato = date("Y-m-d");
//insert this to the table
//connect to db
include("db.php");
//sql
$sql = "INSERT INTO indlæg (navn, email, besked, dato) VALUES ('$navn','$email','$besked','$dato')";
$stmt = $db->query($sql);
$$stmt->execute();
echo "Tak for dit indlæg!";
}
}else{
//include our database connection so we can fetch data from our table 'Indlæg'
include("db.php");
//sql
$sql = "SELECT * FROM Indlæg ORDER By id DESC";
$stmt = $db->query($sql);
$stmt->execute;
$stmt->setFetchMode(PDO::FETCH_ASSOC);
if ($stmt->rowCount() > 0){
while($row = $stmt->fetch()){
echo "
<b>Indlæ: </b>".$row['id']."<br>
<b>Navn: </b>".$row['name']."<br>
<b>E-mail: </b>".$row['email']."<br>
<b>Besked:</b><br>
<p>
".$row['besked']."
</p>
".$row['dato']."
<hr>
";
}
}
}
?>
</center>
</td>
</tr>
</body>
</html>
Hvis det skulle være til nogen hjælp er linket til gæstebogen http://raglas.dk/Gaestebog.php.
På forhånd tak!
Hilsen Joep
Jeg har lavet en gæstebog i PHP, men den virker ikke. Jeg har skrevet af fra en YouTube video (https://www.youtube.com/watch?v=fjb_XnxAoYg) hvor den virker. Kan nogen hjælpe mig?? Koden er:
<!DOCTYPE html>
<html>
<head>
<title>Raglas - Gæstebog</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="Styling af links.css">
</head>
<body>
<tr>
<td style="border-style: solid; border-width: medium">
<center>
<a href="http://raglas.dk/Gaestebog.php" style="Linkstyling">Vis tidligere indlæg</a><br/><a href="http://raglas.dk/Gaestebog.php?gb=true">Skriv et indlæg</a><hr>
<?php
if(isset($_GET['gb'])) {
echo"
<form action='' method='POST'>
Fornavn:<br>
<input type='text' name='name' autofocus=''><br>
Email:<br>
<input type'email' name='email'></br>
Besked:<br>
<textarea cols='20' rows='5' name='message'></textarea><br>
<input type='submit' name='submitBtn' value='OK'
</form>
";
if(isset($_POST['submitBtn'])){
//variables
$navn = $_POST['navn'];
$email = $_POST['email'];
$besked = $_POST['besked'];
$dato = date("Y-m-d");
//insert this to the table
//connect to db
include("db.php");
//sql
$sql = "INSERT INTO indlæg (navn, email, besked, dato) VALUES ('$navn','$email','$besked','$dato')";
$stmt = $db->query($sql);
$$stmt->execute();
echo "Tak for dit indlæg!";
}
}else{
//include our database connection so we can fetch data from our table 'Indlæg'
include("db.php");
//sql
$sql = "SELECT * FROM Indlæg ORDER By id DESC";
$stmt = $db->query($sql);
$stmt->execute;
$stmt->setFetchMode(PDO::FETCH_ASSOC);
if ($stmt->rowCount() > 0){
while($row = $stmt->fetch()){
echo "
<b>Indlæ: </b>".$row['id']."<br>
<b>Navn: </b>".$row['name']."<br>
<b>E-mail: </b>".$row['email']."<br>
<b>Besked:</b><br>
<p>
".$row['besked']."
</p>
".$row['dato']."
<hr>
";
}
}
}
?>
</center>
</td>
</tr>
</body>
</html>
Hvis det skulle være til nogen hjælp er linket til gæstebogen http://raglas.dk/Gaestebog.php.
På forhånd tak!
Hilsen Joep
- scootergrisen
- Moderator
- Indlæg:709
- Tilmeldt:21. jun 2012, 23:40
- Kontakt:
Re: Gæstebog i PHP og MySQL
action attributten er tom i form elementet.
Du kan finde fejl i HTML koden med https://validator.w3.org/
Du kan godt skrive æøå direkte i filen.
Du kan finde fejl i HTML koden med https://validator.w3.org/
Du kan godt skrive æøå direkte i filen.
Re: Gæstebog i PHP og MySQL
Mange tak for hjælpen,
Jeg har fået den til at virke (raglas.dk/Gaestebog.php)!!! Nu kommer der bare to indlæg ind i stedet for et, men så kan jeg jo bare slette det ene!
Mvh Joep
Jeg har fået den til at virke (raglas.dk/Gaestebog.php)!!! Nu kommer der bare to indlæg ind i stedet for et, men så kan jeg jo bare slette det ene!
Mvh Joep
- scootergrisen
- Moderator
- Indlæg:709
- Tilmeldt:21. jun 2012, 23:40
- Kontakt:
Re: Gæstebog i PHP og MySQL
Vis din kode så kan vi finde fejlen.
Hvis du ikke har nogen beskyttelse på din formular så vil du på et tidspunkt få en masse spam i din gæstebog når botter finder den.
Hvis du ikke har nogen beskyttelse på din formular så vil du på et tidspunkt få en masse spam i din gæstebog når botter finder den.
Re: Gæstebog i PHP og MySQL
Hej scootergrisen,
Her er min kode:
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<HTML lang="da">
<head>
<title> Raglas - Gæstebog </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<META name="keywords" content="Glaskunst, til salg, glas til salg, glas, glas kunst til salg" />
<META name="description" content="Glaskunst sælges" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
<link rel="stylesheet" type="text/css" href="Styling af links.css">
<link rel="stylesheet" type="text/css" href="Styling af tekst.css">
<link rel="stylesheet" href="Styling af links.css" type="text/css"/>
<link rel="stylesheet" href="Background image.css" type="text/css"/>
</head>
<body>
<table style="border-style: solid; border-width: medium; margin-left: auto; margin-right: auto; margin-bottom: auto; margin-top: auto; background-image: url(oranje.jpg);">
<tr style="margin-left: auto; margin-right: auto">
<td style="margin-left: auto; margin-right: auto"><h1><center> Raglas glas </center></h1><hr/></td>
</tr>
<tr>
<td style="border-style: solid; border-width: medium"><h2> <a href="index.html"> Forside </a> <a href="Til salg.html"> Til salg </a> Gæstebog <a href="Tak til.html"> Tak til </a> </h2><td/><br/>
</tr>
<tr>
<td style="border-style: solid; border-width: medium">
<center>
<a href="Gaestebog.php" style="Linkstyling">Vis tidligere indlæg</a><br/><a href="Gaestebog.php?gb=true">Skriv et indlæg</a><hr>
<?php
error_reporting(0);
if(isset($_GET['gb'])) {
echo"
<form action='' method='POST'>
Navn:<br>
<input type='text' name='name' autofocus=''><br>
Email (vises ikke):<br>
<input type'email' name='email'></br>
Besked:<br>
<textarea cols='40' rows='10' name='message'></textarea><br>
<input type='submit' name='submitBtn' value='OK'>
</form>
";
if(isset($_POST['submitBtn'])){
//variables
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$date = date("Y-m-d");
//insert this to the table
//connect to db
include("db.php");
//sql
$sql = "INSERT INTO entries (name, email, message, date) VALUES ('$name','$email','$message','$date')";
$stmt = $db->query($sql);
$stmt->execute();
echo "Tak for dit indlæg!";
}
}else{
include("db.php");
//sql
$sql = "SELECT * FROM entries ORDER By id DESC";
$stmt = $db->query($sql);
$stmt->execute;
$stmt->setFetchMode(PDO::FETCH_ASSOC);
if ($stmt->rowCount() > 0){
while($row = $stmt->fetch()){
echo "
<b>Navn: </b>".$row['name']."<br>
<b>Besked:</b><br>
<p>
".$row['message']."
</p>
".$row['date']."
<hr>
";
}
}
}
?>
</center>
</td>
</tr>
</table>
</body>
</HTML>
Jeg vil meget gerne have beskyttelse på den. Hvordan får jeg det?
Hilsen Joep
Her er min kode:
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<HTML lang="da">
<head>
<title> Raglas - Gæstebog </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<META name="keywords" content="Glaskunst, til salg, glas til salg, glas, glas kunst til salg" />
<META name="description" content="Glaskunst sælges" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
<link rel="stylesheet" type="text/css" href="Styling af links.css">
<link rel="stylesheet" type="text/css" href="Styling af tekst.css">
<link rel="stylesheet" href="Styling af links.css" type="text/css"/>
<link rel="stylesheet" href="Background image.css" type="text/css"/>
</head>
<body>
<table style="border-style: solid; border-width: medium; margin-left: auto; margin-right: auto; margin-bottom: auto; margin-top: auto; background-image: url(oranje.jpg);">
<tr style="margin-left: auto; margin-right: auto">
<td style="margin-left: auto; margin-right: auto"><h1><center> Raglas glas </center></h1><hr/></td>
</tr>
<tr>
<td style="border-style: solid; border-width: medium"><h2> <a href="index.html"> Forside </a> <a href="Til salg.html"> Til salg </a> Gæstebog <a href="Tak til.html"> Tak til </a> </h2><td/><br/>
</tr>
<tr>
<td style="border-style: solid; border-width: medium">
<center>
<a href="Gaestebog.php" style="Linkstyling">Vis tidligere indlæg</a><br/><a href="Gaestebog.php?gb=true">Skriv et indlæg</a><hr>
<?php
error_reporting(0);
if(isset($_GET['gb'])) {
echo"
<form action='' method='POST'>
Navn:<br>
<input type='text' name='name' autofocus=''><br>
Email (vises ikke):<br>
<input type'email' name='email'></br>
Besked:<br>
<textarea cols='40' rows='10' name='message'></textarea><br>
<input type='submit' name='submitBtn' value='OK'>
</form>
";
if(isset($_POST['submitBtn'])){
//variables
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$date = date("Y-m-d");
//insert this to the table
//connect to db
include("db.php");
//sql
$sql = "INSERT INTO entries (name, email, message, date) VALUES ('$name','$email','$message','$date')";
$stmt = $db->query($sql);
$stmt->execute();
echo "Tak for dit indlæg!";
}
}else{
include("db.php");
//sql
$sql = "SELECT * FROM entries ORDER By id DESC";
$stmt = $db->query($sql);
$stmt->execute;
$stmt->setFetchMode(PDO::FETCH_ASSOC);
if ($stmt->rowCount() > 0){
while($row = $stmt->fetch()){
echo "
<b>Navn: </b>".$row['name']."<br>
<b>Besked:</b><br>
<p>
".$row['message']."
</p>
".$row['date']."
<hr>
";
}
}
}
?>
</center>
</td>
</tr>
</table>
</body>
</HTML>
Jeg vil meget gerne have beskyttelse på den. Hvordan får jeg det?
Hilsen Joep
- scootergrisen
- Moderator
- Indlæg:709
- Tilmeldt:21. jun 2012, 23:40
- Kontakt:
Re: Gæstebog i PHP og MySQL
Prøv at ret de fejl jeg har skrevet tidligere.
Også når du skriver kode herinde så sæt det i BBkoder.
Du kan redigere dine tidligere indlæg og gøre det... måske... hvis ikke de er låst mod redigering.
Prøv at kig i dine database for eksempel med phpMyAdmin også se om det også står dobbelt der.
Ellers må det være når du hente/viser databasens indhold at du gør det dobbelt hvis kun det står en gang i databasen.
Jeg bruger selv MySQLI objekt orienterede syntax.
Du kan prøve og skrive din kode om hvis du vil. Jeg har ikke testet koden men noget i denne stil.
En beskyttelse kunne bestå i at brugeren bliver spurgt om noget som "Hvad er fem gange tre minus to" også skal brugeren så svarer korrekt på det.
Også når du skriver kode herinde så sæt det i BBkoder.
Du kan redigere dine tidligere indlæg og gøre det... måske... hvis ikke de er låst mod redigering.
Prøv at kig i dine database for eksempel med phpMyAdmin også se om det også står dobbelt der.
Ellers må det være når du hente/viser databasens indhold at du gør det dobbelt hvis kun det står en gang i databasen.
Jeg bruger selv MySQLI objekt orienterede syntax.
Du kan prøve og skrive din kode om hvis du vil. Jeg har ikke testet koden men noget i denne stil.
Kode: Vælg alt
<?php
$server = 'localhost';
$brugernavn = '';
$kodeord = '';
$database = 'mindatabase';
$indhold = '';
$mysqli = new mysqli($server, $brugernavn, $kodeord, $database);
if ($mysqli->connect_errno > 0) {
echo 'Kunne ikke forbinde MySQL serveren : ' . $mysqli->connect_errno . ' : ' . $mysqli->connect_error;
} else {
if ($mysqli = $db->prepare("SELECT * FROM entries ORDER BY id DESC")) {
$mysqli->execute();
if ($mysqli->bind_result($name, $message, $date)) {
while ($mysqli->fetch()) {
$indhold .= ''
. '<tr>'
. '<td>' . $name . '</td>'
. '<td>' . $message . '</td>'
. '<td>' . $date . '</td>'
. '</tr>';
}
} else {
printf("Fejl: %s\n", $db->error);
}
$mysqli->close();
}
}
?>
Re: Gæstebog i PHP og MySQL
Hej scootergrisen,
Hvordan sætter jeg det i BB-koder? Og er der en forskel på MySQLI og MySQL? I mine database står det også dobbelt.
Mvh Joep
Hvordan sætter jeg det i BB-koder? Og er der en forskel på MySQLI og MySQL? I mine database står det også dobbelt.
Mvh Joep
- scootergrisen
- Moderator
- Indlæg:709
- Tilmeldt:21. jun 2012, 23:40
- Kontakt:
Re: Gæstebog i PHP og MySQL
Du kan redigere dit indlæg også trykke på den knap hvor der står "Code" på over det felt du skriver i.
MySQLi er vist en udvidelse af MySQL.
MySQLi er vist en udvidelse af MySQL.
-
- Begynder
- Indlæg:1
- Tilmeldt:9. jun 2016, 11:17
- Kontakt:
Re: Gæstebog i PHP og MySQL
Laver det om fik koden til at virke men kunne kun skrive træ indlæg i den, så nu søger jeg
en ny gæstebog.. nogen der kan lavce det til mig.... giver 100 point og mere til hvis det
er nødvendigt!!!!!
en ny gæstebog.. nogen der kan lavce det til mig.... giver 100 point og mere til hvis det
er nødvendigt!!!!!