Gå til innhold

Trenger hjelp med nyhetsscript


Anbefalte innlegg

Har litt problemer med ett script. Så hjelp settes pris på

Her er hva jeg får med view.php

 

Sjekk her

 

Her er view.php:

 

<?php 
include "config.php"; 

$db = mysql_connect($db_host,$db_user,$db_pass); 
mysql_select_db ($db_name) or die ("Cannot connect to database"); 


$query = "SELECT * FROM nyhetene ORDER BY news_id DESC LIMIT 10"; 
$result = mysql_query($query); 
/* Here we fetch the result as an array */ 
while($r=mysql_fetch_array($result)) 
{    
   print "$r [tittel] ";
   print "$r [date] <br />";
   print "$r [smakebit]  
<br />";
   print "$r [forfatter] ";
} 
mysql_close($db); 

?> 

 

Her er resten av scriptet:

Legg til:

<form action="index.php?section=nyheter/process" method="post">
<p> Tittel: <input type="text" class="logintext" name="tittel">
</p>
<p>
Forfatter: <input type="text" class="logintext" name="forfatter">
</p>
<p>
Smakebit:
</p>
<p><textarea name="smakebit" cols="40" rows="6"></textarea>
</p>
<p><textarea name="hele" cols="40" rows="6"></textarea>
</p>

<input type="submit" name="submit" value="send inn" class="knapp">
</form>

 

Process

<?php
include "nyheter/config.php";

$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("cannot connect to database");

$q="INSERT into nyhetene
(news_id,tittel,forfatter,date,smakebit,hele)
VALUES ('','$tittel','$forfatter','now()','$smakebit','$hele')";

$result = mysql_query($q, $db) or die
("Kunne ikke utføre spørring : $q." . mysql_error());

if ($result)
{
echo "Nyheter lagt til <a href=\"index.php?section=main\">Hovedsiden</a>";
}
?>

 

Det blir lagt til i SQL databasen, men ikke skikkelig. Smakebit, hele forfatter og tittel blir bare lagt til som " ;;;;;; ", og jeg er ny med SQL og PHP, så kunne trengt litt hjelp.

 

Takker for alle svar

 

DanielP

Endret av DanielP
Lenke til kommentar
Videoannonse
Annonse

I første omgang kan du forandre Process til noe sånt:

<?php
include "nyheter/config.php";

extract($_POST);

$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("cannot connect to database");

$q="INSERT into nyhetene
(tittel,forfatter,date,smakebit,hele)
VALUES ('".$tittel."','".$forfatter."','".now()."','".$smakebit."','".$hele."')";

$result = mysql_query($q, $db) or die
("Kunne ikke utføre spørring : $q." . mysql_error());

if ($result)
{
echo "Nyheter lagt til <a href=\"index.php?section=main\">Hovedsiden</a>";
}
?>

Lenke til kommentar

Videre kan du erstatte dette:

while($r=mysql_fetch_array($result)) 
{    
  print "$r [tittel] ";
  print "$r [date] <br />";
  print "$r [smakebit]  
<br />";
  print "$r [forfatter] ";
} 
mysql_close($db); 

 

Med dette:

while($r=mysql_fetch_array($result)) 
{    
  print $r[tittel]." ";
  print $r[date]." <br />";
  print $r[smakebit]." <br />";
  print $r[forfatter];
} 
mysql_close($db); 

 

Du kan ikke ha mellomrom mellom $r(som er arrayet) og [index] som er indexen til arrayet. I tillegg foretrekker jeg også å holde variabler _utenfor_ "", og heller konkatinere med punktum. Det er god programmeringsskikk.

Lenke til kommentar

Flott !!!! Tusen takk :D

 

1.Men to ting til. Viss jeg ville laget en les mer link i view.php til view2.php, hvordan ville jeg laget denne. Og ville view2.php vært helt like view1.php?

 

2.Ville også gjerne hatt en mulighet for å legge til ett bilde når jeg poster. At jeg skriver inn linken til bildet, og når folk ser innlegget, så ser de bildet. Hvordan gjør jeg dette?

 

Setter pris på alle hjelp.

 

DanielP

Endret av DanielP
Lenke til kommentar
Flott !!!! Tusen takk :D

 

1.Men to ting til. Viss jeg ville laget en les mer link i view.php til view2.php, hvordan ville jeg laget denne. Og ville view2.php vært helt like view1.php?

 

2.Ville også gjerne hatt en mulighet for å legge til ett bilde når jeg poster. At jeg skriver inn linken til bildet, og når folk ser innlegget, så ser de bildet. Hvordan gjør jeg dette?

 

Setter pris på alle hjelp.

 

DanielP

1. Litt usikker på hva du mener. Hele innlegget er jo lagret i $r[hele], og da kan du jo skrive ut denne i view2.php eller noe?

2. Å legge inn bilde blir jo bare å skrive ren html i tekstområdet ditt(hele). For å gjøre det enklere, kan du f.eks bruke javascript, slik:

<a href='javascript:settinn()'>Sett inn bilde</a>

<script language='javascript'>
function settinn(){
document.all['hele'].value += '<img href=\''+prompt('Angi kilden til bildet:','')+'\'>';
}
</script>

Lenke til kommentar

Noe sånt?

 

 

view.php:

<?php 
include "config.php"; 

$db = mysql_connect($db_host,$db_user,$db_pass); 
mysql_select_db ($db_name) or die ("Cannot connect to database"); 


$query = "SELECT * FROM nyhetene ORDER BY news_id DESC LIMIT 10"; 
$result = mysql_query($query); 
/* Here we fetch the result as an array */ 
while($r=mysql_fetch_array($result)) 
{    
  print "$r[tittel] ";
  print "$r[date] <br />";
  print "$r[smakebit]  
<br />";
  print "$r[forfatter] <br>";
  print "<a href=\"index.php?section=nyheter/view2&news_id=".$r[news_id]."\">Les mer</a>";
} 
mysql_close($db); 

?> 

view2.php:

]<?php 
include "config.php"; 

$db = mysql_connect($db_host,$db_user,$db_pass); 
mysql_select_db ($db_name) or die ("Cannot connect to database"); 


$query = "SELECT * FROM nyhetene WHERE news_id="$_GET['news_id']; 
$result = mysql_query($query); 
/* Here we fetch the result as an array */ 
if($r=mysql_fetch_array($result)) 
{    
  print "$r[tittel] ";
  print "$r[date] <br />";
  print "$r[hele]  
<br />";
  print "$r[forfatter] <br>";
  print "<a href=\"index.php?section=nyheter/view2&news_id=".$r[news_id]."\">Les mer</a>";
} else
  print "Fant ikke artikkelen!";
mysql_close($db); 
?>

...i korte drag.

 

Har ikke testet det, men burde være en god dytt i riktig retning.

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...