Avatar billede b3k-0ne Nybegynder
28. februar 2006 - 21:23 Der er 45 kommentarer og
1 løsning

Nyheds script i kolonne på forsiden.

Hej eksperter..
Jeg skal bruge et script hvor det er muligt at skrive nyheder i et admin-panel.
Nyhederne skal bare komme i en kolonne på forsiden af hjemmesiden.
Måske bare noget med at bruge: <?php require("NYHEDER.htm"); ?>

Har brug for hjlæ meget hurtigt..!
Avatar billede b3k-0ne Nybegynder
28. februar 2006 - 21:26 #1
Scriptet skal være i PHP
Avatar billede jakobdo Ekspert
01. marts 2006 - 14:05 #2
Hvor mange muligheder skal der være for at oprette nyheder?
Snakker vi bare overskrift og selve nyheden?
Eller snakker vi også et billede eller flere til nyheden?
Avatar billede b3k-0ne Nybegynder
01. marts 2006 - 17:08 #3
Det er kun kun tekst.. har lavet en kolonne til nyheder her: www.blogger.hotserv.dk/per

så kan du se hvad jeg mener..
Avatar billede jakobdo Ekspert
01. marts 2006 - 18:42 #4
Har du noget login, admin del?
Avatar billede b3k-0ne Nybegynder
01. marts 2006 - 19:55 #5
Nej det har jeg ikke..  den kolonne du ser er bare tekst ikke noget script..
Avatar billede jakobdo Ekspert
01. marts 2006 - 22:24 #6
Prøv at se her: http://www.codebreaker.dk/exp/691681.php
Login er:
user: admin
pass: secret
Avatar billede b3k-0ne Nybegynder
01. marts 2006 - 23:24 #7
Okay cool nok.. :D


Kan overskrifen ikke komme øverst og så datoen nedenunder altså:

Overskrift
01.03.2006
_______________

Teeeeeeeeeekst..
Avatar billede b3k-0ne Nybegynder
01. marts 2006 - 23:37 #8
Du skulle vel ikke ha' filerne i en zip fil? og hvad jeg skal skrive ind i min database
Avatar billede jakobdo Ekspert
02. marts 2006 - 08:15 #9
Kig på siden: http://www.codebreaker.dk/exp/691681.php
Der er nu alt hvad du skal bruge.
Du skal selvfølgelig starte fra: <?php
Avatar billede b3k-0ne Nybegynder
02. marts 2006 - 11:04 #10
Har lavet tabelerne i databasen.
I connect filen har jeg skrevet:

<?php
$username = "6119";
$password = "inkone";
$hostname = "db01";   
$dbh = mysql_connect($hostname, $username, $password)
    or die("Unable to connect to MySQL");
print "Connected to MySQL<br>";
mysql_close($dbh);
?>

Sår disse fejl:
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/hotserv.dk/users/per/sql/index.php on line 45

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/hotserv.dk/users/per/sql/index.php on line 45

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/hotserv.dk/users/per/sql/index.php on line 46
Ingen nyheder endnu
Avatar billede b3k-0ne Nybegynder
02. marts 2006 - 11:07 #11
Du kan se det her: http://per.hotserv.dk/sql/
Avatar billede jakobdo Ekspert
02. marts 2006 - 11:15 #12
Du skal ikke lukke forbindelsen igen til din DB:
Fjern
print "Connected to MySQL<br>";
og
mysql_close($dbh);

LIGELEDES BØR du ASAP rette brugernavn + login til din DB.
Avatar billede jakobdo Ekspert
02. marts 2006 - 17:17 #13
Og et svar!
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 08:15 #14
Nu har jeg rettet hvad du sagde, men nu skriver den: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/hotserv.dk/users/per/sql/index.php on line 46
Avatar billede jakobdo Ekspert
03. marts 2006 - 08:22 #15
Tilføj die (mysql_error()); efter mysql_query(".....");
Så det bliver: mysql_query(".....") die (mysql_error());
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 09:01 #16
Okay jeg skrev: $query = mysql_query("SELECT * FROM tbl_691681 ORDER BY writen") die (mysql_error());

Nu siger den sgu:

Parse error: parse error, unexpected T_EXIT in /var/www/hotserv.dk/users/per/sql/index.php on line 45
Avatar billede jakobdo Ekspert
03. marts 2006 - 09:18 #17
Hvadh ar du på linie 45?
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 09:27 #18
45: $query = mysql_query("SELECT * FROM tbl_691681 ORDER BY writen") die (mysql_error());

46: if(mysql_num_rows($query)>0)


Her er det hele:

<?php
session_start();

require('connect.php');

if(isset($_SESSION['admin']))
{
    if(isset($_POST['opretnyhed']))
    {
        $header = mysql_real_escape_string(strip_tags($_POST['header']));
        $news  = mysql_real_escape_string(strip_tags($_POST['news']));
        $query = mysql_query("INSERT INTO tbl_691681(id,header,news,writen) VALUES('','".$header."','".$news."',NOW())");
        header('Location: ' . $_SERVER['PHP_SELF']);
        exit();
    }
    echo '<table>';
    echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
    echo '<tr><td>Overskrift:</td><td><input type="text" name="header"></td></tr>';
    echo '<tr><td>Nyhed:</td><td><textarea name="news" cols="50" rows="10"></textarea></td></tr>';
    echo '<tr><td colspan="2"><input type="submit" value="Opret Nyhed" name="opretnyhed"></td></tr>';
    echo '</form>';
    echo '</table>';
}
else
{
    if(isset($_POST['login']))
    {
        if($_POST['user'] == 'admin' && $_POST['pass'] == 'password')
        {
            $_SESSION['admin'] = true;
            header('Location: ' . $_SERVER['PHP_SELF']);
            exit();
        }
    }
    echo '<table>';
    echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
    echo '<tr><td>User:</td><td><input type="text" name="user"></td></tr>';
    echo '<tr><td>Pass:</td><td><input type="password" name="pass"></td></tr>';
    echo '<tr><td colspan="2"><input type="submit" value="Log Ind" name="login"></td></tr>';
    echo '</form>';
    echo '</table>';
}
echo '<hr>';

$query = mysql_query("SELECT * FROM tbl_691681 ORDER BY writen") die (mysql_error());
if(mysql_num_rows($query)>0)
{
    echo '<table>';
    while($row = mysql_fetch_assoc($query))
    {
        echo '<tr><td>' . $row['writen'] . '</td></tr>';
        echo '<tr><td style="border-bottom: 2px solid black;">' . $row['header'] . '</td></tr>';
        echo '<tr><td>' . $row['news'] . '</td></tr>';
    }
    echo '</table>';
}
else
{
    echo 'Ingen nyheder endnu';
}

echo '<hr>';
show_source(__FILE__);

?>
Avatar billede jakobdo Ekspert
03. marts 2006 - 09:42 #19
Jeg sover...
Det skal være:
$query = mysql_query("SELECT * FROM tbl_691681 ORDER BY writen") or die(mysql_error());

Glemte OR
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 11:44 #20
Okay. den skriver: No database selected

Min connect er den her:

<?php
$username = "6119";
$dbname = "tbl_691681";
$password = "inkone";
$hostname = "db01";   
$dbh = mysql_connect($hostname, $username, $password)
    or die("Unable to connect to MySQL");
?>
Avatar billede jakobdo Ekspert
03. marts 2006 - 11:55 #21
Efter mysql_connect()
laver du:
mysql_select_db('DINDATABASE!!!!', $dbh);

Og husk stadig at ændre dit login til databasen.
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 13:13 #22
Okay det fatter den ikke. Kan du ikke skrive hele connect filen her?
Skulle også lige spørge om det er muligt at få nyhederne vist i et txt dokument?Hvor det ser sådan her ud, og den nyeste nyhed kommer øverst:

<h2>Overskrift</h2>
dato
________________
Indhold
<br>
NÆSTE NYHED HER.. OVS
Avatar billede jakobdo Ekspert
03. marts 2006 - 13:34 #23
Prøv denne connect:

<?php
$username = "6119";
$dbname = "tbl_691681";
$password = "inkone";
$hostname = "db01"; 
$dbh = mysql_connect($hostname, $username, $password)or die("Unable to connect to MySQL");
mysql_select_db($dbname, $dbh) or die("Unable to select DB");
?>
Avatar billede jakobdo Ekspert
03. marts 2006 - 13:34 #24
Sikker på dette ikke er DB: db01
og tbl_691681 er selve din tabel?
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 14:20 #25
Okay lækkert nok.. :D Det virker nu..

Men kunne man måske det jeg skrev der oppe? altså få nyhederne vist i et txt dokument? Hvor det ser sådan her ud, og den nyeste nyhed kommer øverst:
<h2>Overskrift</h2>
dato
________________
Indhold
<br>
NÆSTE NYHED HER.. OVS
Avatar billede jakobdo Ekspert
03. marts 2006 - 14:23 #26
Det kunne man godt lave ja!
Vil du evt ikke selv prøve først?
fopen();
fwrite();
fclose();
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 14:31 #27
Nej helst ikke.. det plejer ikke at virker når jeg laver det.. :P
Avatar billede jakobdo Ekspert
03. marts 2006 - 14:45 #28
Takker for point!
Hvorfor vil du have nyheder skrevet i en txt fil?
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 14:59 #29
Det vil jeg også gerne, men hvor skal jeg tilføje de linjer der..? Og hvad skal jeg mere gøre? Du må gerne skrive det KLART fordi jeg er ikke så god til php endnu.. (som du nok har lagt mærke til) :P
Avatar billede jakobdo Ekspert
03. marts 2006 - 15:03 #30
Hvorfor vil du har nyhederne skrevet til en text fil?
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 15:07 #31
Så jeg bare kan skrive <?php require("nyheder.txt"); ?>
Avatar billede jakobdo Ekspert
03. marts 2006 - 15:09 #32
Hvorfor ikke bare bruge:
<?php
require("connect.php");

$query = mysql_query("SELECT * FROM tbl_691681 ORDER BY writen") die (mysql_error());
if(mysql_num_rows($query)>0)
{
    echo '<table>';
    while($row = mysql_fetch_assoc($query))
    {
        echo '<tr><td>' . $row['writen'] . '</td></tr>';
        echo '<tr><td style="border-bottom: 2px solid black;">' . $row['header'] . '</td></tr>';
        echo '<tr><td>' . $row['news'] . '</td></tr>';
    }
    echo '</table>';
}
else
{
    echo 'Ingen nyheder endnu';
}
?>
Avatar billede b3k-0ne Nybegynder
03. marts 2006 - 15:30 #33
Okay cool nok.. :D
Når jeg har skrevet én nyhed og skriver den næste skulle den gerne komme øverst, men det gør den ikke.. kan man ikke rette i noget så den gør det?
Avatar billede jakobdo Ekspert
04. marts 2006 - 13:06 #34
tilføj DESC i din SQL, så den bliver:
ORDER BY writen DESC")
Avatar billede b3k-0ne Nybegynder
04. marts 2006 - 20:07 #35
Okay hvor gør jeg lige præcist det henne?
Avatar billede jakobdo Ekspert
04. marts 2006 - 20:47 #36
$query = mysql_query("SELECT * FROM tbl_691681 ORDER BY writen DESC") die (mysql_error());
Avatar billede b3k-0ne Nybegynder
04. marts 2006 - 21:02 #37
Okay det virker..
Og mange gange tak til dig, cool at der er folk som dig!!

Tak for hjælpen...
Avatar billede jakobdo Ekspert
04. marts 2006 - 21:29 #38
tak
Avatar billede b3k-0ne Nybegynder
16. marts 2006 - 09:31 #39
Hey Jakob... Kunne man ikke lave noget så man ikke behøver at gå helt ind i databasen for at slette/rette i en nyhed?
Forresten når man trykker ENTER for at lave et linjeskift i en nyhed i admindelen kommer det ikke på siden...??


På forhånd tak..!
Avatar billede jakobdo Ekspert
16. marts 2006 - 10:59 #40
Jo, man kan godt lave noget slette og rette noget.
For at få enter vist på siden, skal du smide output igennem:
nl2br().
Avatar billede b3k-0ne Nybegynder
16. marts 2006 - 12:59 #41
Øhhhm okay. kan du give mig et eksempel på hvordan jeg gør det?
Avatar billede jakobdo Ekspert
16. marts 2006 - 14:48 #42
while($row = mysql_fetch_assoc($query))
    {
        echo '<tr><td>' . $row['writen'] . '</td></tr>';
        echo '<tr><td style="border-bottom: 2px solid black;">' . $row['header'] . '</td></tr>';
        echo '<tr><td>' . nl2br($row['news']) . '</td></tr>';
    }

Bemærk koden: nl2br($row['news'])
Avatar billede b3k-0ne Nybegynder
16. marts 2006 - 18:02 #43
Okay cool nok det virker.. :D
Da det er min far der skal bruge scriptet er jeg ikke så glad for at han skal ind i databasen for at rette eller slette en nyhed. Så kunne man lave en slet og rediger knap ud for hver nyhed i admin delen?
Avatar billede jakobdo Ekspert
16. marts 2006 - 22:12 #44
Kig på siden: http://www.codebreaker.dk/exp/691681.php
Nu er der også slet og rediger med i kassen.. :o)
Avatar billede b3k-0ne Nybegynder
17. marts 2006 - 08:40 #45
Okay tak skal du ha'.. nu hører du ikke mere fra mig..
I hvertfald ikke i dette indlæg.....!
Avatar billede jakobdo Ekspert
17. marts 2006 - 09:04 #46
:o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester