Avatar billede fozie Nybegynder
12. februar 2008 - 23:43 Der er 39 kommentarer og
1 løsning

nyhed's visnings fejl.

Hvad er fejlen i det her:

{
print "'<b>'$row['navn'] .'</b>'<br />' . $row['besked'] . '<hr />'";
}

(det er udklip fra en kode)
Avatar billede kjeldsted Novice
12. februar 2008 - 23:49 #1
Hm.. Det ser mystisk ud. Både dine "single quotes" (') og "dubble quotes" (") og punktummer står forkert. Men følgende kode skulle løse problemet.

print "<b>".$row['navn']."</b><br />".$row['besked']."<hr />";
Avatar billede nwn Nybegynder
12. februar 2008 - 23:51 #2
Fordi du manglede et . lige før $row['navn']
Avatar billede fozie Nybegynder
12. februar 2008 - 23:59 #3
Nope kjeld.
Hele koden kommer lige her:

<?php
mysql_connect("localhost", "fozie_dk", "kode") or die(mysql_error());
mysql_select_db("fozie_dk") or die(mysql_error());
?>
<h3>Nyheder</h3>
<?php
$query = mysql_query("SELECT * FROM nyhed1");
if( mysql_num_rows( $query ) )
{
while( $row = mysql_fetch_assoc( $query ) )
{
print "'<b>'$row['navn'] .'</b>'<br />' . $row['besked'] . '<hr />'";
}
}

?>
Avatar billede fozie Nybegynder
13. februar 2008 - 00:02 #4
lige så snart jeg fjerner <b> og </b> virker koden..
Avatar billede kjeldsted Novice
13. februar 2008 - 00:06 #5
Når du fjerne <b> og </b>, og den virker, ser koden så sådan ud:

print $row['navn'] .<br />' . $row['besked'] . '<hr />'";

For så mangler du et punktum før $row['navn']. Men hvad med

print "'<b>'.$row['navn'] .'</b>'<br />' . $row['besked'] . '<hr />'";

Den virker måske heller ikke? For så ved jeg ikke lige hvad der går galt...
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:11 #6
Brug du nu bare kjeldsted's svar 12/02-2008 23:49:32 som er den rigtige måde at lave den type af print.

<?php
mysql_connect("localhost", "fozie_dk", "kode") or die(mysql_error());
mysql_select_db("fozie_dk") or die(mysql_error());
?>
<h3>Nyheder</h3>
<?php
$query = mysql_query("SELECT * FROM nyhed1");
if( mysql_num_rows( $query ) )
{
while( $row = mysql_fetch_assoc( $query ) )
{
print "<b>" . $row['navn'] . "</b><br />" . $row['besked'] . "<hr />";
}
}

?>
Avatar billede fozie Nybegynder
13. februar 2008 - 00:13 #7
http://fozie.dk/test/
Klik på nyheder og se hvad der sker..
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:14 #8
En alternativ måde kan også være:

<?php
mysql_connect("localhost", "fozie_dk", "kode") or die(mysql_error());
mysql_select_db("fozie_dk") or die(mysql_error());
?>
<h3>Nyheder</h3>
<?php
$query = mysql_query("SELECT * FROM nyhed1");
if( mysql_num_rows( $query ) )
{
while( $row = mysql_fetch_assoc( $query ) )
{
print "<b>{$row['navn']}</b><br />{$row['besked']}<hr />";
}
}

?>
Avatar billede kjeldsted Novice
13. februar 2008 - 00:16 #9
Det er mærkelige hvis ikke det virker. For det burde den gøre, og hvis jeg indsætter koden på min egen server (tilføjer nogle værdier til arrayet), ja, så virker den. Så medmindre der kan være en fejl i opsætningen på serveren burde den kunne bruges.
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:18 #10
<?php
error_reporting(E_ALL);

mysql_connect("localhost", "fozie_dk", "kode") or die(mysql_error());
mysql_select_db("fozie_dk") or die(mysql_error());
?>
<h3>Nyheder</h3>
<?php
$query = mysql_query("SELECT * FROM nyhed1");
if( mysql_num_rows( $query ) )
{
while( $row = mysql_fetch_assoc( $query ) )
{
print "<b>{$row['navn']}</b><br />{$row['besked']}<hr />";
}
}

?>
Avatar billede kjeldsted Novice
13. februar 2008 - 00:18 #11
Og desuden står der under nyheder at du er blevet nægtet adgang til database serveren. Det er dog mystisk at den virker hvis du fjerner <b> tag'et.
Avatar billede fozie Nybegynder
13. februar 2008 - 00:19 #12
Dkfire, du er min gud ^^...
Skriv lige et svar.

Btw. kan du ikke også lave sådan i koden at den sukterer (stav) nyeste nyhed øverst? den skriver den nederst atm. =)
Avatar billede fozie Nybegynder
13. februar 2008 - 00:20 #13
Kjeld, det var fordi jeg copy /pastede dkfires, glemte at ændre koden! :O
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:21 #14
Du har sikkert ikke, via dit kontrolpanel hos one, slået fejlbeskeder til. Det skal du huske at gøre så længe du udvikler på din side. :-)
Avatar billede fozie Nybegynder
13. februar 2008 - 00:22 #15
Nu er det ordnet dk:)
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:23 #16
Hvordan ser din tabel nyhed1 ud i databasen. Altså hvilke felter består den af ?
Avatar billede fozie Nybegynder
13. februar 2008 - 00:23 #17
id
navn
besked
Avatar billede kjeldsted Novice
13. februar 2008 - 00:29 #18
$query = mysql_query("SELECT * FROM nyhed1 ORDER BY id DESC");

viser den nyeset øverst ;-)
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:29 #19
En god ide vil også være at have en tid på måske.
Det kan være et felt af type datetime.
Avatar billede fozie Nybegynder
13. februar 2008 - 00:33 #20
Kjeld, tak :)... Men det var dkfire der løste hoved opgaven, så han får points.
Skriv lige et svar dkfire :)
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:34 #21
Ej tag du bare og giv point til kjeldsted
Avatar billede fozie Nybegynder
13. februar 2008 - 00:34 #22
OG noget endnu mere offtopic, kan i ikke lige skrive hvordan man tømmer ud i en tabel via sin side? altså fx. i gæstebogs tabellen som hedder "gb1".
Avatar billede fozie Nybegynder
13. februar 2008 - 00:35 #23
Ok, kjeld skriv svar :)
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:37 #24
Tømmer ud ?? Vil du slette alle beskeder ??
Avatar billede kjeldsted Novice
13. februar 2008 - 00:40 #25
Hehe. Det er nu ikke så vigtigt med de point. Dem er jeg egentlig ikke interesseret i når det kommer til stykket. Jeg vil sådan set bare hjælpe andre med den viden jeg elv besidder. Så hvis ikke dkfire vil have pointene. Så behold dem ;-)
Avatar billede fozie Nybegynder
13. februar 2008 - 00:43 #26
Ja fra gæstebogen, der er en masse spam.
Ok tak kjeld, du er da en flink gut :)
Avatar billede kjeldsted Novice
13. februar 2008 - 00:45 #27
Og hvis du ønsker at tømme, altså slette ALT fra en tabel, ser koden sådan ud:

mysql_query("TRUNCATE TABLE tabel_navn");
Avatar billede kjeldsted Novice
13. februar 2008 - 00:47 #28
Og så lidt da. Jeg ved selv hvor hårdt det kan være når ikke man kender alle php koder. Er faktisk stadig selv ret ny inden for dette område.

Og mht. at tømme tabel. Husk at du også kan logge ind i phpmyadmin, vælge tabellen og trykke tøm... Det er hurtigere end at lave en php side, hvis du kun skal gøre dette én gang ;-)
Avatar billede dkfire Nybegynder
13. februar 2008 - 00:48 #29
Du kan kører en sql sætning ala

mysql_query("DELETE * FORM gb1") or die(mysql_error());
Avatar billede fozie Nybegynder
13. februar 2008 - 00:59 #30
Har et problem mere, håber ikke jeg er for meget, men det er at jeg gerne vil lave admin sektionen ordentligt. Jeg vil gerne have at der kan være flere admins, og jeg har lavet lidt, men det virkede ikke :(. Så jeg ville høre om i ikke havde en tutorial eller lign? Har søgt på google, men vi er åbenbart ikke gode venner mere...
Avatar billede kjeldsted Novice
13. februar 2008 - 01:03 #31
Hvad mener du mere præcist når du skriver at der kan være flere admins? Altså bare flere brugere, eller flere brugere med forskellige muligheder (altså så én har adgang til alle admin. funk. og en anden kun adgang til nogle)?

Eller mener du noget helt andet?
Avatar billede fozie Nybegynder
13. februar 2008 - 01:05 #32
Vi er flere admins på siden :). Andre folk skal bare læse nyheder osv.
Avatar billede kjeldsted Novice
13. februar 2008 - 01:07 #33
Men jeg er ikke helt med på ovenstående sprøgsmål. Der skal "bare" være mere end én der kan logge på admin systemet?
Avatar billede fozie Nybegynder
13. februar 2008 - 01:09 #34
Ja med session, dvs man skal være logget ind for at kunne se fx nyhed_opret.php
Avatar billede kjeldsted Novice
13. februar 2008 - 01:12 #35
Så du spørger hvordan du kan skjule dine filer i admin delen?
Avatar billede fozie Nybegynder
13. februar 2008 - 01:15 #36
mmhm..
Jeg spørger hvordan jeg laver et system hvor man skal logge ind med brugernavn og kode som ligger i phpmyadmin. Når man er logget ind kan man se nogle admin sider.
Avatar billede kjeldsted Novice
13. februar 2008 - 01:21 #37
Hm. Jeg tror det må være ret sent. Jeg er vist ikke så hurtig lige nu. Men prøver at svare så vidt jeg forstår spørgsmålet. Men kan lige skriver hvad jeg selv plejer.

De systemer jeg selv har bygget, har jeg lagt admin delen som en del for sig uden tilknytning til resten af siden (udover at de deler server / MySQL DB). Når så man logger ind på siden kommer der en forside frem og en menu, lige som en anden offentlig hjemmeside, men i toppen af hver side skriver jeg "if(!isset($_SESSION[logget_ind'])){header('Location:adgangforbudt.php');}". Har bliver man altså smidt ud hvis man ikke er logget ind.

Ps. session_start() skal stå øverst på siden. FØR ALT ANDET. Meget vigtigt ;-)
Avatar billede kjeldsted Novice
13. februar 2008 - 01:25 #38
En anden lille ting, hvis jeg må blande mig i din side, er brugen af iframes. Jeg har MEGET dårlig erfaring med brug af iframes, og kan kun anbefale at bruge php funktionen der minder meget om, nemlig include_once('stil_på_fil.php').

Skal beklage jeg sådan blander mig. Men kan ikke lide disse frames efter jeg har oplevet en række fejl grundet brugen af iframes.
Avatar billede fozie Nybegynder
13. februar 2008 - 01:28 #39
:)... Jeg har kun god erfaring med det. Men hvis jeg gav dig adgang til min ftp, ville du så ordne det?
Avatar billede kjeldsted Novice
13. februar 2008 - 01:30 #40
Hm. Du har vist tiltro til folk ;-) Jeg er i godt humør for tiden. Så smid en mail til jens_k[a]kjeldsted.dk og jeg kan kigge på det i morgen. Trænger vist til at få en smule søvn nu.
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