Avatar billede neo-fisk Nybegynder
22. august 2007 - 20:10 Der er 21 kommentarer og
1 løsning

hjælp til admindel af nyhedsscript

hej

jeg sidder og prøver på at lave admin delen til et nyheds system men det er begyndt at drille lidt :(

1. jeg for ikke overskriften ind, men der står bare $overskrift
2. den overfører ikke id'et til edit og slet fuktionerne

håber i kan hjælpe

<?php

// Forbinder til database
include( 'config.php' );

// Henter i database
$result = mysql_query ( "SELECT * FROM $table ORDER BY id, dato DESC" );



// Udskriver den først del af tabel
print "<table with='100%' cellspacing='2'>" ;

// Løber igennem alle rækkerne
while( $row = mysql_fetch_array ( $result )){

$id = $row [ "id" ];

$overskrift = $row [ "overskrift" ];



// Udskriver side
print '<tr><td><b>$overskrift - options: <a href="edit.php?id=$id" target="_blank">Edit nyhed</a> | <a href="slet.php?id=$id" target="_blank">Slet Nyhed</a></td></tr>' ;

}

// Afslutter tabel
print "</table>" ;

// Lukker database
mysql_close ();

?>
Avatar billede nielle Nybegynder
22. august 2007 - 20:21 #1
print '<tr><td><b>' . $overskrift . ' - options: <a href="edit.php?id=' . $id . '" target="_blank">Edit nyhed</a> | <a href="slet.php?id=' . $id . '" target="_blank">Slet Nyhed</a></td></tr>' ;
Avatar billede nielle Nybegynder
22. august 2007 - 20:22 #2
Forskellen:

$variabel = "noget tekst";

echo "... $variabel ...<br>";
echo '... $variabel ...<br>';
Avatar billede neo-fisk Nybegynder
22. august 2007 - 20:25 #3
prøvede lige at sætte det ind du skrev men for bare: Parse error: parse error on line 24, hvor line 24 er den linie
Avatar billede nielle Nybegynder
22. august 2007 - 20:42 #4
En svipser:

print '<tr><td><b>' . $overskrift . ' - options: <a href="edit.php?id=' . $id . ' target="_blank">Edit nyhed</a> | <a href="slet.php?id=' . $id . ' target="_blank">Slet Nyhed</a></td></tr>' ;
Avatar billede nielle Nybegynder
22. august 2007 - 20:43 #5
Hmm:

print '<tr><td><b>' . $overskrift . ' - options: <a href="edit.php?id=' . $id . '" target="_blank">Edit nyhed</a> | <a href="slet.php?id=' . $id . '" target="_blank">Slet Nyhed</a></td></tr>' ;
Avatar billede nielle Nybegynder
22. august 2007 - 20:45 #6
Ok, altså Eksperten har sine egne småfejl - og her er vi blevt ramt af en af dem

De steder hvor at der står:

... php?id=$id" ...

i dit oprindelige foreslag, skal der skrives:

php?id=' . $id . ' " target
Avatar billede nielle Nybegynder
22. august 2007 - 20:47 #7
Altså bortset fra at der ikke lige skal være et mellemrum mellem ' og ". Men hvis jeg udelader det her på Eksperten bliver resultatet:

php?id=' . $id . '" target
Avatar billede nielle Nybegynder
22. august 2007 - 20:47 #8
Øhhhhh? nå?

Well jeg håber på at det er klart hvad du skal skrive?
Avatar billede neo-fisk Nybegynder
22. august 2007 - 20:51 #9
nah det står mig ikk helt klart :/ (er syg, nok derfor)

skal jeg skrive

... php?id=$id" ...

php?id=' . $id . ' " target og mellem 'og" fjerne mellemrum
Avatar billede nielle Nybegynder
22. august 2007 - 20:58 #10
Afprøv mit eksempel fra 22/08-2007 20:22:03.

Hvis du har noget kode som basalt ser sådan her ud:

echo '... $variabel ...<br>';

så vil værdien af $variabel *ikke* blive indsat. Det ville den ellers hvis det var "-tegn i hver ende. Dette er forskellen mellem strenge omsluttet med ' i forhold til dem omsluttet med ".

Hvis du derfor ønsker værdien af $variabel udskrevet, skal strengen splittes op:

echo '... ' . $variabel . '...<br>';
Avatar billede neo-fisk Nybegynder
22. august 2007 - 20:59 #11
har fundet ud af det nu :) men har lidt et problem med edit funktionen :/ tror ikke min edit fil modtager oplysninger når jeg klikker op edit kan du hjælpe mig med det?
Avatar billede nielle Nybegynder
22. august 2007 - 21:02 #12
Måske. Kræver dog at du poster noget kode. :^)
Avatar billede neo-fisk Nybegynder
22. august 2007 - 21:03 #13
min edit.php

<?php
include( 'config.php' );

$id = $_GET [ 'id' ];

$result = mysql_query ( "SELECT * FROM $table WHERE id='$id'" );

$row = mysql_fetch_array ( $result );

$nyhed = $row [ "nyhed" ];

// Udskriver formen til skærm
echo '<form action="editgem.php?id=$id" method="post">

<textarea id="nyhed" name="nyhed">$nyhed</textarea><input type="submit" id="submit"></form>' ;

// Lukker database
mysql_close ();

?>
Avatar billede nielle Nybegynder
22. august 2007 - 21:11 #14
Det er den samme problemstilling igen:

echo '<form action="editgem.php?id=$id" method="post">
<textarea id="nyhed" name="nyhed">$nyhed</textarea><input type="submit" id="submit"></form>';

Her omgiver du strengen med '-tegn i stedet for "-tegn. Derfor skal den opdeles som f.eks. vist i 22/08-2007 20:58:52.
Avatar billede neo-fisk Nybegynder
22. august 2007 - 21:12 #15
kunne du så ikk lige bare ca. forklare hvornår de forskellige skal bruges :/ er lidt i tvivl om det havde betydning men det har jeg jo så fundet ud af at det har det :)
Avatar billede neo-fisk Nybegynder
22. august 2007 - 21:14 #16
sry så ikke lige hvad du hade skrevet der :) smid svar og points er dine :)
Avatar billede nielle Nybegynder
22. august 2007 - 21:17 #17
Fordelen ved at bruge "-tegn er at variable inde i strengen. Det er smart og giver nogen gange noget kode som er nemt at forstå/læse. Uheldigvis betyder det så bare at man andre gange skal gøre noget ekstra arbejde for at forhindre denne funktionalitet:

echo "Produktet koster 25 \$";  // Vil give en fejl uden \-tegnet.

Til disse tilfælde har man så et alternativ:

echo 'Produktet koster 25 $';
Avatar billede nielle Nybegynder
22. august 2007 - 21:19 #18
Du kan faktisk blot bytte om på den måde du bruger ' og " og så vil det også virke:

echo "<form action='editgem.php?id=$id' method='post'>
<textarea id='nyhed' name='nyhed'>$nyhed</textarea><input type='submit' id='submit'></form>";
Avatar billede nielle Nybegynder
22. august 2007 - 21:19 #19
... og et svar :^)
Avatar billede neo-fisk Nybegynder
22. august 2007 - 21:23 #20
ahh ok :) det kan være problemet er det samme her hvor den skal gemme det ígen :)?

<?php

// Forbinder til database
include( 'config.php' );

// Fanger nyhed
$nyhed = $_POST [ 'nyhed' ];

// Fanger id
$id = $_GET [ 'id' ];

// Opdator database
mysql_query ( "UPDATE $table SET nyhed='$nyhed' WHERE id='id'" );

// Lukker database
mysql_close ();

?>
Avatar billede nielle Nybegynder
22. august 2007 - 21:25 #21
Nej, men du mangler et $-tegn foran det sidste id i din SQL.
Avatar billede neo-fisk Nybegynder
22. august 2007 - 21:32 #22
du for mange tak for hjælpen har siddet hele dagen og bøvlet med det :)
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