sample Skrevet 25. juli 2005 Del Skrevet 25. juli 2005 Hei! Jeg tenkte om noen kunne hjelpe til med en artikkel script, så det er mulig at den kan sorteres i kategorier (med en arkiv). f.eks det skal legges en nyhet om pc så når man skal skrive artikkel velger man kategori PC og en om programmering så velger man programmering og den blir samlet inn i den kategorien men også mulig at den vises på forsiden. php/mysql! takk på forhånd! PS: Hvis en vet om en kan si ifra takker igjen Lenke til kommentar
sample Skrevet 25. juli 2005 Forfatter Del Skrevet 25. juli 2005 Hei, finner lite der Lenke til kommentar
sample Skrevet 26. juli 2005 Forfatter Del Skrevet 26. juli 2005 (endret) Hei, har en script nå men lurer på om noen kan hjelpe meg slik at når jeg skriver artikkel kan jeg legge det i bestemt kategori. f.eks. Kategori: PC (artikkelen blir vist på http://www.minside.com/kategori/pc.php) Nett (artikkelen blir vist på http://www.minside.com/kategori/nett.php) helst en dropdown liste der jeg kan velge kategori takk her er script: news.php <html> <body bgcolor=#f4efce> <basefont size=2 face=arial> <b>Skriv artikkel</b> <? include ("template.inc"); include ("config.php"); $subject = $_POST[subject]; $summary = $_POST[summary]; $passwd = $_POST[passwd]; $date = $_POST[date]; $body = $_POST[body]; $article_id = $_POST[article_id]; #foreach($GLOBALS as $a => $b){ print "<li>$a => $b";} $summary_template = "t_summary.html"; $article_template = "t_article.html"; $max_summary = 5; function summary_page ($subject, $date, $summary, $article_id) { global $summary_template; $t = new Template(); $t->set_file("SummaryPage", $summary_template); $article_url = "article_".$article_id.".html"; $date = nl2br($date); $summary = nl2br($summary); $t->set_var( array( "subject" => $subject, "date" => $date, "summary" => $summary, "article_url" => $article_url )); $t->parse("Summary", "SummaryPage"); return $t->get_var("Summary"); } function main_page ($subject, $date, $summary, $article_id, $body) { global $article_template; $t = new Template(); $t->set_file("ArticlePage", $article_template); $article_url = "article_".$article_id.".html"; $date = nl2br($date); $summary = nl2br($summary); $body = nl2br($body); $t->set_var( array( "subject" => $subject, "date" => $date, "summary" => $summary, "body" => $body, "article_url" => $article_url )); $t->parse("Article", "ArticlePage"); return $t->get_var("Article"); } function add_article($filename, $news) { if(file_exists($filename)){ $fh = fopen($filename, "r"); $old_news = fread($fh, filesize($filename)); fclose($fh); } /* TODO: Multipage articles preg_match_all("<!--ARTICLE PAGE=(\d*)-->", $old_news, $matches; if( count($matches[0]) >= $max_summary){ $oldfilename = $filename.($matches[0][0]+1); } */ $fh = fopen($filename, "w"); $news = stripslashes($news); fwrite($fh, "\n<!--ARTICLE-->\n$news $old_news"); fclose($fh); } if(strcmp($subject, "")){ if(!(strcmp($passwd, $password))){ add_article("article_summary.html", summary_page($subject, $date, $summary, $article_id)); add_article("article_$article_id.html", main_page($subject, $date, $summary, $article_id, $body)); echo "<p> <a href=article_$article_id.html>Article</a> has been added! <p>"; }else{ echo "<p><b> Password is wrong! </b>"; } } ?> <form action=news.php method=post> <table border=0> <tr> <td> (Passord): </td><td> <input type=password name=passwd size=20> </td></tr> <tr> <td> Emne: </td><td> <input type=text name=subject size=50> </td></tr> <tr> <td> Artikkel ID: </td><td> <input type=text name=article_id value="<? echo date("Y_m_j_is"); ?>" size="30" ?> size=30> </td></tr> <tr> <td> Dato/Forfatter/etc: </td><td> <textarea name=date rows=2 cols=50 wrap=soft><? echo date("M j, Y\n"); ?>Author: </textarea> </td></tr> <tr> <td> Sammendrag: </td><td> <textarea name=summary rows=5 cols=50 wrap=soft></textarea> </td></tr> <tr> <td> Brødtekst: </td><td> <textarea name=body rows=15 cols=50></textarea> </td></tr> </table> <input type=submit name=submit value=Skriv> </form> <p> latest.php <? require('config.php'); $filename = "article_summary.html"; #- open article summaries if(file_exists($filename)){ $fh = fopen($filename, "r"); $old_news = fread($fh, filesize($filename)); fclose($fh); } #- get first five article $articles = explode("<!--ARTICLE-->", $old_news); $i=0; foreach ( $articles as $article ){ if(count($articles)>$i){ if($max_latest >= $i++){ print $article; } } } ?> Det er flere filer: config.php t_article.html t_summary.html template.inc men jeg regner med at jeg ikke trenger å vise? hvis behov kan jeg gjøre det! Endret 26. juli 2005 av sample Lenke til kommentar
Hazno Skrevet 26. juli 2005 Del Skrevet 26. juli 2005 prøv hotscripts.com *sukk* Uansett, det du kan gjøre, er å opprette en tabell i databasen din som heter "Kategorier". Deretter en tabell som heter "Nyheter". I "kategorier" har du punktene: kat_id (INT, auto_increment, primary) navn (text) I "Nyheter" har du punktene: nyhet_id (INT, auto_increment, primary) tittel (text) innhold (text) kat_id (INT) skrevet_av (text, evt INT om du skal bruke id'n til nyhetsskribenten) lagt_til (datetime) Å legge til kategorier er da ganske simpelt. Bare lage en liten form med <input type="text" name="category">, og på form action-siden, slenger du den inn i: <?php $category = addslashes(trim($_POST['category'])); mysql_query("INSERT INTO kategorier (navn) VALUES ('".$category."')"); ?> på siden du skal skrive nyhetene: <form action="action.php" method="post"> Skrevet av:<br> <input type="text" name="author"><br> Tittel:<br> <input type="text" name="title"><br> Innhold:<br> <textarea name="content" cols="30" rows="10"></textarea><br> Kategori:<br> <select name="category"> <?php $get_category = mysql_query("SELECT kat_id,navn FROM kategorier ORDER BY navn"); if (mysql_num_rows($get_category) > 0) { while ($cat = mysql_fetch_assoc($get_category)) { echo '<option value="'.$cat['kat_id'].'">'.$cat['navn'].'</option>'; } } else { echo '<option value="0">Ingen kategorier</option>'; } ?> </select> <br><br> <input type="submit" value="Legg til nyhet" name="news_add"> </form> i form action-fila (action.php i dette tilfellet): <?php if (isset($_POST['news_add'])) { $title = addslashes(trim($_POST['title'])); $content = addslashes(trim($_POST['content'])); $category = $_POST['category']; $author = addslashes(trim($_POST['author'])); mysql_query("INSERT INTO nyheter (tittel, innhold, kat_id, skrevet_av, lagt_til) VALUES ( '".$title."', '".$content."', '".$category."', '".$author."', NOW() ) "); } ?> Nå har du kategorisert nyhetene, og du kan behandle de som du vil etter tall. Om du vil liste opp kategoriene som en slags meny for leser'n, kan du bruke: <?php $get_category = mysql_query("SELECT kat_id,navn FROM kategorier ORDER BY kat_id"); if (mysql_num_rows($get_category) > 0) { while ($cat = mysql_fetch_assoc($get_category)) { echo '<a href="?kat='.$cat['kat_id'].'">'.$cat['navn'].'</a><br>'; } } else { echo 'Ingen kategorier'; } ?> Noe sånt PS: Har ikke testa kodene, bare skrev ut fra hodet, men i teorien burde det funke. Lenke til kommentar
sample Skrevet 27. juli 2005 Forfatter Del Skrevet 27. juli 2005 prøv hotscripts.com *sukk* Uansett, det du kan gjøre, er å opprette en tabell i databasen din som heter "Kategorier". Deretter en tabell som heter "Nyheter". I "kategorier" har du punktene: kat_id (INT, auto_increment, primary) navn (text) I "Nyheter" har du punktene: nyhet_id (INT, auto_increment, primary) tittel (text) innhold (text) kat_id (INT) skrevet_av (text, evt INT om du skal bruke id'n til nyhetsskribenten) lagt_til (datetime) [/code] Noe sånt PS: Har ikke testa kodene, bare skrev ut fra hodet, men i teorien burde det funke. Hei, takk for hjelpen. Men hvor er det jeg legger dette "tabell i databasen"? Er det en fil jeg lagerer og laster opp eller? Lenke til kommentar
???????? Skrevet 27. juli 2005 Del Skrevet 27. juli 2005 *sukk* Dude... det er bedre å finne noe som er skikkelig gjort enn å lage noe halvferdig og usikkert. Jeg må innrømme at jeg ble litt irritert av den kommentaren din, så derfor kan jeg fortelle hvorfor det er et godt alternativ: 1. Du gjør ikke en skikkelig sikkerhetssjekk av variablene, addslashes er ikke en sikkerhetssjekk - mysql_real_escape_string() er. 2. Du sjekker ikke om magic_quotes er på, dvs. du kan få en dobelt opp escapet string. 3. Du burde alltid sjekke mysql_query, skriv den slik: $result = mysql_query(... På den måten kan du sjekke om den returnerer false eller ikke. Du kan eventuelt sjekke direkte med if(mysql_query... 4. Sjekk alltid mysql_error() og mysql_affected_rows - ellers vet du ikke om noe lagers eller ikke. På det lille scriptet ditt hadde du sikkerhetshull, ingen validering av om det lagres noe eller om du escaper en string dobbelt opp. Se på dette som gode råd og ikke som ren kritikk av innlegget ditt - ønsker ikke å krangle men få deg til å forstå hvorfor jeg foreslår hotscripts.com Lenke til kommentar
Hazno Skrevet 29. juli 2005 Del Skrevet 29. juli 2005 *sukk* Dude... det er bedre å finne noe som er skikkelig gjort enn å lage noe halvferdig og usikkert. Eneste som provoserer meg er at PHP-forumet blir mer og mer et "thrid-party apps"-forum. Ser ikke moroa i å bare bruke noe ferdig-mekka greier, selvom det antakeligvis er sikrere og alt det der om man er ganske ny på PHP, men mye artigere å kunne vise frem og skryte litt av noe man har laget helt selv fra scratch, og øvelse gjør mester. Lenke til kommentar
???????? Skrevet 30. juli 2005 Del Skrevet 30. juli 2005 Helt enig, dersom noen spør om tips eller råd, eller at noen har et problem de spør om. Men i dette tilfellet står det faktisk: PS: "Hvis en vet om en kan si ifra". Jeg begynte på dette forumet for et par år siden, og da fantes det nesten ikke sånne spørsmål som: "Kan noen lage dette til meg" eller "Vet du om et scripts om dette". Spørsmål ble drøftet og ofte diskutert, vet ikke hvor mange diskusjoner jeg har hatt med f.eks. Torbjør gjennom årene. Så når det dukker opp et spørsmål om hvor noen lurer på et ferdig script så foreslår jeg hotscripts.com. I verste fall så kan et sånt usikkert scrip koste brukeren du lagde det til mange tusen kroner å installere på webhotellet. Dersom noen kan hacke seg til databasen gjennom et usikkert script så er det brukeren sitt problem. Derfor kan webhotellet selvfølgelig kreve erstatning og betalt for tiden det tar å rette problemet. Jeg skjønner at du ikke liker at jeg slaktet scriptet ditt, og jeg synes ikke et er så ille bare du retter på de punktene. Forsøk heller å læer av det enn å krangle med meg, og forstå hvorfor jeg tipser om hotscripts.com. Trådstarteren lurer på et ferdig et, og i tillegg har han ikke gjort et forsøk på å lage et. Lenke til kommentar
sample Skrevet 30. juli 2005 Forfatter Del Skrevet 30. juli 2005 Hei. Har fått dette til nå, takk for alle som svarte! Lenke til kommentar
Hazno Skrevet 30. juli 2005 Del Skrevet 30. juli 2005 Helt enig, dersom noen spør om tips eller råd, eller at noen har et problem de spør om. Men i dette tilfellet står det faktisk: PS: "Hvis en vet om en kan si ifra". Jeg begynte på dette forumet for et par år siden, og da fantes det nesten ikke sånne spørsmål som: "Kan noen lage dette til meg" eller "Vet du om et scripts om dette". Spørsmål ble drøftet og ofte diskutert, vet ikke hvor mange diskusjoner jeg har hatt med f.eks. Torbjør gjennom årene. Så når det dukker opp et spørsmål om hvor noen lurer på et ferdig script så foreslår jeg hotscripts.com. I verste fall så kan et sånt usikkert scrip koste brukeren du lagde det til mange tusen kroner å installere på webhotellet. Dersom noen kan hacke seg til databasen gjennom et usikkert script så er det brukeren sitt problem. Derfor kan webhotellet selvfølgelig kreve erstatning og betalt for tiden det tar å rette problemet. Jeg skjønner at du ikke liker at jeg slaktet scriptet ditt, og jeg synes ikke et er så ille bare du retter på de punktene. Forsøk heller å læer av det enn å krangle med meg, og forstå hvorfor jeg tipser om hotscripts.com. Trådstarteren lurer på et ferdig et, og i tillegg har han ikke gjort et forsøk på å lage et. Jaja.. Menneh, til punktene du satte opp ang. scriptet mitt.. Jeg skriver mer som en "guide" til hvordan det KAN gjøres, og gidder derfor ikke sjekke opp om forskjellige variabler er satt, magic_quotes etc. Slikt gjør jeg jo selvsagt på det jeg bruker selv. Jeg hadde ikke brukt det scriptet jeg skrev der selv, ikke prikk likt. Noe liknende, men lagt til mye mer for å sjekke sikkerheten. Som sagt, skrev raskt rett fra huet, aner ikke om det jeg skrev funker en gang, men det burde hjelpe han på vei mot å få et fungerende script. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå