webForumDet fria alternativet

utveckla gästbok?

PHP

30 svar · 3 417 visningar · startad av besto · sida 2 av 2

Frågan, av besto

hejsan jag skulle behöva hjälp att utveckla en gästbook , vet inte rikitgt hur det går till. jag skulle vilja göra så att om man check box är checked så ska det stå "privat" iiställer för meddelandet , vill bli så att bara gästbok ägare och skickare har rätt att läsa mededelandet ! tackar ! behöver ni mer info så är det bara att fråga :D

Läs frågan i sin helhet →
Medlem sedan juli 201123 inlägg
#21

jag testade men det fick inte , men va tycker du borde jag gör som jag sa på min förra inlägg eller?

Medlem sedan juni 20019 519 inlägg
#22

Ja 0 borde bli false

Medlem sedan juli 201123 inlägg
#23

:/ så va ska jag göra nu XD ? hjälper det om jag postar hela gästbook.php och bild på databasen ?

Medlem sedan juni 20019 519 inlägg
#24

Fungera databasen nu? Isåfall är det sen när du presentera alla inlägg och se om den är privat eller inte. Postar din kod

Medlem sedan apr. 20117 inlägg
#25

Det finns egentligen inget som heter Boolean i MySQL.

Det dem har gjort är att satt upp ett fälttyp med namnet boolean/bool men vad du får är en "tiny int" men length 1*.

Så sätt upp typen som "bool" och låt "length" vara ifred (MySQL kommer fylla i det automatiskt och sätta värdet till 1). Sätt upp "Defualt" till "As defined" och i rutan dirket efter skriver du 0. När allt är klart hoppar du till första sidan av phpMyAdmin och från ett select fält kan du byta ut "English" mot "Svenska" :)

Happy days
//Mr.1Buying

*= Tiny int tillhör den numeriska familjen av datatyper och är familjens minsta med ett max värde på 127 (signed) och kan som lägsta ha -128. När man sätter "length" på ett fält av numeriska familjen så deklarerar du högsta godkända värd för fältet, om du sätter exempel vis 10 (unsigned) kan du bara spara ner : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 och 10. Om du försöker spara ner ett högre värde än så som exempel vis 12 eller 549 kommer MySQL att skala ner värdet till det närmaste godkända vilket i båda fallen blir 10.

Medlem sedan juli 201123 inlägg
#26

ok mr1buying fyllde i exakt som jag sa och då fick jag denna error

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 10 in /home/a5118691/public_html/gb.php on line 36

// Hämta ägarens användarnamn
$sqlk = "SELECT `user` FROM `members` WHERE `ID`=$ownerID";
$resultk = mysql_query($sqlk) or die("SQL: $sql<br />" . mysql_error());
$owner = mysql_result($resultk, 0);

detta är rad 36 :
$owner = mysql_result($resultk, 0);

Medlem sedan juni 20019 519 inlägg
#27

Hur ser din tabell ut? och var kommer $ownerID ifrån?

Medlem sedan juli 201123 inlägg
#28

om jag har förstått dig rätt :

// Ägare till gästboken
$ownerID = intval($_GET['user']);

gästbok scriptet :

<?php

session_start();
ob_start();
if (!isset($_SESSION['sess_id'])){
    header("Location: index.php");
    exit();
}
 
require_once "conn.php";
 
// Ägare till gästboken
$ownerID = intval($_GET['user']);
 
//Radera inlägg
if (isset($_GET['delete'])) {
    if($_SESSION['sessionlevel'] > 1) {
        $sql = "DELETE FROM guestbook WHERE id=" . intval($_GET['delete']);
    } else {
        $sql = "DELETE FROM guestbook WHERE id=" . intval($_GET['delete']) . " AND (author = '{$_SESSION['sess_id']}' OR owner = '{$_SESSION['sess_id']}')";
    }
    mysql_query($sql) or die("SQL: $sql<br />" . mysql_error());
header("Location: gb.php?user={$_GET['user']}");
exit();
}
 
$sql2 = "SELECT * FROM members WHERE id=$ownerID";
$result2 = mysql_query($sql2) or die("SQL: $sql<br />" . mysql_error());
while ($rad = mysql_fetch_assoc($result2)) {
}
 
// Hämta ägarens användarnamn
$sqlk = "SELECT `user` FROM `members` WHERE `ID`=$ownerID";
$resultk = mysql_query($sqlk) or die("SQL: $sql<br />" . mysql_error());
$owner = mysql_result($resultk, 0);

 
 
// Om ett nytt meddelande har skrivits, skriv in det i databasen
if (isset($_POST['message'])) {
   $authorID = intval($_POST['author']);
   $message = $_POST['message'];
   /* om meddalandet är privat så sätts privat till true annars false */
   if(isset($_POST['privat'])){
      $privat=true;
   }else{
      $privat=false;
   }

 
   $sqlk = "INSERT INTO `guestbook` (`owner`, `author`, `date`, `message`, `privat`) VALUES ($ownerID, $authorID, NOW(), '$message', ' $privat')";
   $result = mysql_query($sqlk) or die("SQL: $sql<br />" . mysql_error());
 
   // Ladda om sidan så att $_POST töms...
   header("Location: gb.php?user=$ownerID");
   exit();
}
?>
<html>
<head>
<title> Gästbok </title>
</head>
<body>
 
<?php echo $owner; ?>  Gästbok 
<form action="gb.php?user=<?php echo $ownerID; ?>" method="post">
<input type="hidden" name="author" value="<?php echo $_SESSION['sess_id']; ?>">
Skriv ett meddelande:<br>
<textarea name="message" cols="40" rows="4" width="120" height="70"></textarea><br>
<input type="checkbox" name="privat" value="privat" />
<input type="submit" value="Skicka">
</form>
<?php
 
// Visa alla meddelanden... sortera efter datum i fallande ordning (senast skrivna inlägg visas först)
$sql = "SELECT *,g.ID as inlagg,DATE_FORMAT(g.`date`,'%Y-%m-%d %H:%i') AS datum FROM `guestbook` g INNER JOIN `members` m ON g.`author`=m.`ID` WHERE g.`owner`=$ownerID ORDER BY g.`date` DESC";
$result = mysql_query($sql) or die("SQL: $sql<br />" . mysql_error());
while ($row = mysql_fetch_assoc($result)) {
   echo "<br><b>Från</b> {$row['user']} , {$row['datum']}<br>";
      echo "-------------------------<br>";
   echo nl2br(htmlentities($row['message']));
  if ($_SESSION['sess_id'] == $ownerID || $_SESSION['sess_id'] == $row['author_ID']) {
         echo "  <a href=\"gb.php?user=$ownerID&delete={$row['inlagg']}\">Radera</a><br><br>";
}
}
ob_end_flush();
?>
 
</body></h2>
</html>
Medlem sedan juli 201123 inlägg
#29

´jamen nåt nytt ? :D

Medlem sedan juni 20019 519 inlägg
#30

har du något user querystring värde? du behöver ju det för att hämta ut något från din databas:

if(!isset($_GET['user']) { return;}
// Ägare till gästboken
$ownerID = intval($_GET['user']);
Medlem sedan juli 201123 inlägg
#31

om det inte finns något user querystring värde i min förra inlägg så finns det inte i scriptet , scriptet består ju bara av gästbok.php och den har jag redan gett er :D

266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)