Gå til innhold

Trenger .php/.html hjelp!


Anbefalte innlegg

Hei,

 

Jeg har laget en gjestebok til min hjemmeside, men jeg vil ha uthevet "navn og sa" fra *select". Kan noen komme med forslag til hvor jeg skal sette <strong></strong>?

 

Hvis du ser på php-en, så har jeg uthevet den delen som gjelder.

Bildet viser hvordan gjesteboken groft ser ut, jeg vil ha "Test sa:" uthevet.

 

Håper noen kan hjelpe! :)

 

-------------------

 

<?php

$link = mysql_connect('localhost', 'root', 'root');

if (!$link) {

die('Not connected : ' .mysql_error());

}else{

//echo "I am connected. ";

}

$db_selected = mysql_select_db('gjestebok', $link);

if (!$db_selected) {

die ('Can\'t use gjestebok DB : ' .mysql_error());

}

$name = trim($_REQUEST['name']);

$comment = trim($_REQUEST['comment']);

if(strlen($name)> 0){

if(strlen($comment)> 0){

$name = mysql_real_escape_string ($name);

$comment = mysql_real_escape_string ($comment);

$sql = "INSERT INTO `gjestebok`.`hilsen` (

`id` ,

`navn` ,

`dato` ,

`hilsen`

)

VALUES (

NULL , '$name', UNIX_TIMESTAMP( ) , '$comment'

);";

mysql_query($sql);

}else{

echo "<strong>ADVARSEL: Du skrev ikke inn en kommentar!</strong> <br /><br />";

}

}else{

if(strlen($comment)> 0){

echo "<strong>ADVARSEL: Du har skrevet en kommentar, men ikke et navn!</strong> <br /><br />";

}

}

$sql = "SELECT *

FROM `hilsen` ORDER BY `ID` DESC

LIMIT 0 , 10";

$result = mysql_query($sql);

while($row = mysql_fetch_array($result)){

echo $row['navn']." sa: <blockquote>".$row['hilsen']."</blockquote><br />";

}

?>

<form action="?" method="post">

<p><strong>Navn:</strong> <br />

<input type="text" name="name" /><br />

<p><strong>Hilsen:</strong><br />

<textarea name="comment"></textarea></p>

<br />

<input type="submit" value="Send hilsen" />

</p>

</form>

post-178810-0-70311200-1335566024_thumb.png

Lenke til kommentar
Videoannonse
Annonse

Helt nederst i PHP koden din: prøv noe slikt...

while($row = mysql_fetch_array($result)){
   echo "<strong>".$row['navn']." sa:</strong> <blockquote>".$row['hilsen']."</blockquote><br />";
}

Endret av Yawa
  • Liker 1
Lenke til kommentar

Fungerte! :)

 

Men hvis jeg vil ha advarslene i rødt, hva gjør jeg da?

 

-------------------------

 

mysql_query($sql);

}else{

echo "<strong>ADVARSEL: Du skrev ikke inn en kommentar!</strong> <br /><br />";

}

}else{

if(strlen($comment)> 0){

echo "<strong>ADVARSEL: Du har skrevet en kommentar, men ikke et navn!</strong> <br /><br />";

Lenke til kommentar

for å oppnå dette benytter du CSS. Anbefaler deg å plassere all CSS i egne CSS-filer og inkludere de filene i toppen av dokumentet ditt. Men her har du en hardkodet måte:

   echo "<strong style="color:red;">ADVARSEL: Du skrev ikke inn en kommentar!</strong> <br /><br />";
   echo "<strong style="color:red;">ADVARSEL: Du har skrevet en kommentar, men ikke et navn!</strong> <br /><br />";

 

"red" kan du bytte ut med hvilken som helst hex-formatert fargekode ;) bare huske å plassere en # forran.

eks.: color:#ffffff; for hvit...

Når alle bokstavene, eller tallene er like trenger du kun å angi 3 stk. som dette : #fff;

  • Liker 1
Lenke til kommentar

Fungerte igjen, men måtte ta bort "" rundt color:#FF0000; for å unnså syntax error. Kan dette bli et problem senere?

 

Vet at det hadde vært enklere om jeg hadde hatt en egen css-fil, men det begynner å bli en del filer og rekner med at det blir en del jobb for å få det til. Eller?

 

Her er CSS-en, hvordan får jeg denne da inn i en egen fil og samtidig linker til denne filen i stylen i .html-fila?

 

<style type="text/css">
body {
font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
background-color: #CACACA;
margin: 0;
text-align:center;
padding: 0;
color: #000;
}
ul, ol, dl {
padding: 0;
margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
margin-top: 0; 
padding-right: 15px;
padding-left: 15px;
}
a img {
border: none;
}

a:link {
color: #42413C;
text-decoration: underline;
}
a:visited {
color: #6E6C64;
text-decoration: underline;
}
a:hover, a:active, a:focus {
text-decoration: none;
}

.container {
width: 960px;
background: #FFFFFF;
margin: 0 auto;
}

.header {
background: #CACACA;
padding-top: 30px;
}

.sidebar1 {
float: left;
width: 200px;
height: 650px;
background: #FFFFFF;
padding-bottom: 10px;
padding-top: 10px;
}
.content {
padding: 10px 0;
padding-left: 10px;
width: 600px;
float: left;
}

.content ul, .content ol {
padding: 0 15px 15px 40px;
}

ul.nav {
list-style: none;
border-top: 1px solid #666;
margin-bottom: 15px;
}
ul.nav li {
border-bottom: 1px solid #666;
}
ul.nav a, ul.nav a:visited {
padding: 5px 5px 5px 15px;
display: block;
width: 180px; 
text-decoration: none;
background: #FFFFFF;
}
ul.nav a:hover, ul.nav a:active, ul.nav a:focus {
background: #ADB96E;
color: #FFF;
}
.footer {
padding: 10px 0;
background: #4F4F4F;
position: relative;
clear: both;
}

.fltrt { 
float: right;
margin-left: 8px;
}
.fltlft {
float: left;
margin-right: 8px;
}
.clearfloat {
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
</style>

Endret av heh115
Lenke til kommentar

Fikk et nytt problem da jeg prøve å legge til datoen i *select. Datoen blir 0000-00-00. I databasen får jeg ikke krysset av for auto, på dato raden. La ved noen bilder.

 

 

 

Slik blir det vist på nettsiden.

post-178810-0-29605200-1335618050_thumb.png

 

Slik ser selve databasen ut. Har bare en tabell og lurer på om jeg må lage en til for å få datoen til å fungere.

post-178810-0-86748500-1335618062_thumb.png

 

Slik ser hovedtabellen ut.

post-178810-0-65480700-1335618076_thumb.png

 

Erroren jeg får opp når jeg prøver å få dato som auto.

post-178810-0-27356100-1335618091_thumb.png

Lenke til kommentar

Såvidt jeg vet fungerer auto increment bare for integere, og brukes i de fleste tilfeller for å tilby muligheten for at hver enkelt rad blir unik.

Hvis du vil sette inn en dato via php kan du bruke CURDATE()

 

INSERT INTO Table(Date) VALUES(CURDATE());

 

Eventuelt så kan du sette CURRENT_TIMESTAMP som standard verdi, da vil den sette inn dagens dato dersom ingenting annet er spesifisert for den kolonnen.

Endret av Nickless
Lenke til kommentar

Problemet hvis jeg bruker CURDATE() i php-en er vel at det blir dagens dato og ikke datoen kommentaren ble skrevet på?

 

*fikk det til

endret .php-en

 

FRA

$sql = "INSERT INTO  `gjestebok`.`hilsen` (
`id` ,
`navn` ,
`dato` ,
`hilsen`
)
VALUES (
NULL , '$name', UNIX_TIMESTAMP( ) , '$comment'
);";

 

TIL

$sql = "INSERT INTO  `gjestebok`.`hilsen` (
`id` ,
`navn` ,
`dato` ,
`hilsen`
)
VALUES (
NULL , '$name', CURRENT_TIMESTAMP , '$comment'
);";

Endret av heh115
Lenke til kommentar

for å linke til en ekstern CSS fil legger du inn følgende mellom <head></head> slik:

<head>
   <link rel="stylesheet" type="text/css" href="path/to/style.css">
</head>

Husk på at all styling du setter direkte inn i .html fila, altså direkte på elementene, vil overstyre den eksterne .css-fila...

Lenke til kommentar

Nei. Når du inserter curdate så blir den evaluert før inserten.

Neste steg i læringsprosessen foreslår jeg at kan være å få sql-skriptinga uta av php-fila ;)

 

Har eksamen i IT1 på torsdag og tror ikke de stille så veldige krav til akkuratt dette. Så lenge jeg kan prinsippet i de forskjellige emnene osv, tror jeg at jeg skal klare meg sånn noenlunde.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...