Avatar billede msira Nybegynder
07. juni 2003 - 12:00 Der er 17 kommentarer og
1 løsning

hvor melder den fejl??

Hej!

Jeg er ved at lave lidt om på mit nyhedsmoduel. Hvorfor melder den denne fejl?

Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in /home/creeddk/public_html/test/vis.php on line 19

min kode ser sådan ud:

<?
$connection = mysql_connect("localhost","creeddk_creed","nonstop");
mysql_select_db("creeddk_creed", $connection);

$query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,100");
while($row = mysql_fetch_array($query)) {

echo"
<table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td><b><u><a href="$row[link]">$row[overskrift]</a></u></b> [$row[dato]]</td>
</tr>
<tr>
<tr>
<td>$row[knyhed]</td>
</tr>
<tr>
<td>$row[nyhed]<br><br></td>
</tr>
</table>
";
}
?>

NB: Når jeg skal oprette en ny hyhed, så udfylder jeg felterne "overskrift, links, knyhed (som er en lille beskrivelse af nyheden) og hele nyheden. Jeg vil gerne have at overskriften får linket fra feltet "link". Men den melder fejl.

gør jeg det helt forkert!????
Avatar billede viciodk Praktikant
07. juni 2003 - 12:12 #1
Den skal vel nærmere hedde noget i retning af dette?:

<?php
$connection = mysql_connect("localhost","creeddk_creed","nonstop");
mysql_select_db("creeddk_creed", $connection);

$query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,100");
while($row = mysql_fetch_array($query)) {
  echo "<table class=\"tekstafsnit\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n"
  ."  <tr>\n"
  ."    <td><b><u><a href=\"$row[link]\">$row[overskrift]</a></u></b> [$row[dato]]</td>\n"
  ."  </tr>\n"
  ."  <tr>\n"
  ."    <td>$row[knyhed]</td>\n"
  ."  </tr>\n"
  ."  <tr>\n"
  ."    <td>$row[nyhed]<br><br></td>\n"
  ."  </tr>\n"
  ."</table>";
}
?>
Avatar billede msira Nybegynder
07. juni 2003 - 12:21 #2
Ja, det virker både og...

Når jeg har oprettet en nyhed: kommer datoen kun frem [07/06/2003]

der kommer ikke andet..
Avatar billede myplacedk Nybegynder
07. juni 2003 - 13:16 #3
Hvilken linje har nummer 19 hos dig?
Avatar billede viciodk Praktikant
07. juni 2003 - 13:30 #4
msira: Jeg går da ikke ud fra den stadig melder fejl på linje 19 eller en hvilken som helst anden linje? Indholdet bliver bare ikke vist.. eller hvad?
Avatar billede msira Nybegynder
07. juni 2003 - 13:33 #5
Ok - jeg stiller spørgsmålet på en anden måde: (der kommer så lidt flere point oveni)

Jeg har en opretnyhed.php: den ser sådan ud:

<form method="post" action="gem.php">
  <table width="53%" border="0" align="center">
    <tr>
      <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Overskift</font></td>
      <td width="88%">
        <input type="text" name="textfield" size="50">
      </td>
    </tr>
    <tr>
      <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Links</font></td>
      <td width="88%">
        <input type="text" name="textfield2" size="50">
      </td>
    </tr>
    <tr>
      <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Kort
        nyhed</font></td>
      <td width="88%">
        <textarea name="textfield3" cols="75" rows="5"></textarea>
      </td>
    </tr>
    <tr>
      <td width="12%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nyhed</font></td>
      <td width="88%">
        <textarea name="textfield4" cols="75" rows="15"></textarea>
      </td>
    </tr>
    <tr>
      <td width="12%">
        <input type="submit" name="send" value="Opret nyhed">
      </td>
      <td width="88%">
        <input type="reset" name="slet" value="slet">
      </td>
    </tr>
  </table>
  <br>
</form>

Så har jeg en vis.php:

<?php
$connection = mysql_connect("xx","xx","xx");
mysql_select_db("xx", $connection);

$query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 0,100");
while($row = mysql_fetch_array($query)) {
  echo "<table class=\"tekstafsnit\" width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n"
  ."  <tr>\n"
  ."    <td><b><u><a href=\"$row[link]\">$row[overskrift]</a></u></b> [$row[dato]]</td>\n"
  ."  </tr>\n"
  ."  <tr>\n"
  ."    <td>$row[knyhed]</td>\n"
  ."  </tr>\n"
  ."  <tr>\n"
  ."    <td>$row[nyhed]<br><br></td>\n"
  ."  </tr>\n"
  ."</table>";
}
?>

og en gem.php:

<?
$connection = mysql_connect("xx","xx","xx");
mysql_select_db("xx", $connection);

$dato = date('d/m/Y');
mysql_query("INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('$overskrift', '$link', '$dato', '$nyhed')") OR DIE (mysql_error());
mysql_close;
header("Location: vis.php");
?>

min MySQL:

CREATE TABLE nyheder (
id int(5) NOT NULL auto_increment,
overskrift tinytext NOT NULL,
link tinytext NOT NULL,
dato tinytext NOT NULL,
knyhed text NOT NULL,
nyhed text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;

jeg vil gerne have et nyhedssystem, hvor jeg skriver i "opretnyhed.php" Når jeg har udfyldt felterne: "overskift, link og nyhed: skal dt kunne ses i vis.php. Vis.php skal være en nyhedsoversigt - altså den skal kunne vise overskriften på nyhederne og LIDT af nyheden. ( I ved: bla bla bla bla bla bla bla bla bla.....) og så kan man trykke på overskriften som er link til resten af nyheden.

- Msira
Avatar billede msira Nybegynder
07. juni 2003 - 13:34 #6
nej, nyhén bliver ikke vist
Avatar billede msira Nybegynder
07. juni 2003 - 13:34 #7
*Nyheden
Avatar billede myplacedk Nybegynder
07. juni 2003 - 13:47 #8
Det første du skal finde ud af er, om det overhovedet kommer i databasen.

- Gør det det?
Avatar billede msira Nybegynder
07. juni 2003 - 13:49 #9
Det er kun datoen der kommer ind.. resten er der ikke
Avatar billede myplacedk Nybegynder
07. juni 2003 - 14:02 #10
Så ligger fejlen altså der hvor du putter data i databasen, eller før. Du kan altså glemme alt som "vis.php" indtil videre.

Prøv at rette dette:

mysql_query("INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('$overskrift', '$link', '$dato', '$nyhed')") OR DIE (mysql_error());

Til dette:

$sql = "INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('$overskrift', '$link', '$dato', '$nyhed')";
echo "<p>SQL: $sql</p>";
mysql_query($sql) OR DIE (mysql_error());

Jeg har ikke ændret på selve SQL'en eller funktionaliteten, jeg har bare lavet det sådan at du kan se hvilken kommando du sender til databasen.

- Ser det ud som forventet?
Avatar billede msira Nybegynder
07. juni 2003 - 14:22 #11
Nu har jeg sat din kode ind i gem.php - men nu kommer fejlen:

SQL: INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('', '', '07/06/2003', '')


Warning: Cannot modify header information - headers already sent by (output started at /home/creeddk/public_html/test/gem.php:7) in /home/creeddk/public_html/test/gem.php on line 10

og line 10 er:

mysql_close;

Jeg kommer på senere, jeg skal ud at spille fodbold. men jeg håber du kan se fejlen. ellers står alt koden til nyhedsmodulet længere på!

- Msira
Avatar billede myplacedk Nybegynder
07. juni 2003 - 14:32 #12
Det ser ud til at tre af dine variabler ikke indeholder noget. Hvor får de en værdi?

Gæt: De skulle indeholde værdier direkte fra formen.
I så fald, indsæt dette der, hvor du også sætter $dato:

$overskrift = $_GET['textfield'];
$link = $_GET['textfield2'];
$nyhed = ...
Avatar billede myplacedk Nybegynder
07. juni 2003 - 15:01 #13
Hov, ændr "$_GET" til "$_POST". :-)
Avatar billede msira Nybegynder
08. juni 2003 - 00:44 #14
Virker ikke..
Avatar billede msira Nybegynder
08. juni 2003 - 00:45 #15
eller sætter jeg det forkert ind?

Hvordan skal min gem.php se ud efter jeg har sat det ind efter din tanke??

- MSira
Avatar billede myplacedk Nybegynder
08. juni 2003 - 09:00 #16
For eksempel sådan her:

<?
$connection = mysql_connect("xx","xx","xx");
mysql_select_db("xx", $connection);

$dato = date('d/m/Y');
$overskrift = $_GET['textfield'];
$link = $_GET['textfield2'];
$nyhed = ...
$sql = "INSERT INTO news (overskrift, link, dato, nyhed) VALUES ('$overskrift', '$link', '$dato', '$nyhed')";
echo "<p>SQL: $sql</p>";
mysql_query($sql) OR DIE (mysql_error());
mysql_close;
header("Location: vis.php");
?>

Erstat selv de tre punktummer med det rigtige navn.

Og lad være med bare at sige "det virker ikke"! Det kan man ikke bruge til noget. Fortæl hvad der er galt. Hvad sker der?
Avatar billede msira Nybegynder
23. september 2003 - 01:00 #17
Jeg begyndte at lære PHP/MySQL, så jeg lavede et selv.. som virkede som det skulle
Avatar billede msira Nybegynder
23. september 2003 - 01:00 #18
Derfor lukker jeg
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