Avatar billede syngredk Nybegynder
24. august 2005 - 15:53 Der er 12 kommentarer og
1 løsning

Sletning af indtastning

Heysa,

jeg har lavet en side, som viser alle brugere i min database. Det fungere også fint, som nedenstående kode:

echo "Rediger | Slet | " .$row[firstname]. '&nbsp;' .$row[lastname]. '<br>';

Men nu vil jeg gerne havde indsat en sletnings mulighed der hvor der står slet, og jeg tilføjer derfor:

echo "Rediger | '<a href="?offset='.$offset.'&deleteID='.$row['id'].'">Slet</a>' | " .$row[firstname]. '&nbsp;' .$row[lastname]. '<br>';

Men nu får jeg fejl, hvir den siger jeg har noget fejl med noget ' tegn? Nogen som kan hjælpe...
Avatar billede jaw Nybegynder
24. august 2005 - 15:57 #1
Prøv:

echo "Rediger | <a href='?offset=".$offset."&deleteID=".$row['id']."'>Slet</a> | ".$row[firstname]. "&nbsp;".$row[lastname]. "<br>";

Det drejer sig lige om, at du skulle have styr på dine ' og ".
Avatar billede udvikler Nybegynder
24. august 2005 - 15:57 #2
Prøv at kopiere HELE fejlen og HELE din kode..
Avatar billede syngredk Nybegynder
24. august 2005 - 16:05 #3
Jaw, takker for hjælpen.. Virker nu, så hvis du smider et svar kan jeg smide lidt point efter dig.

Hele koden vises her:

<?php

session_start();
if(!$_SESSION['loget_in'] == 1) {
header("Location: ../index.php");
}

require('../access/access_config.php');
if (isset($_GET['deleteID'])) {
    mysql_query("DELETE FROM users WHERE id=".$_GET['deleteID']."") or die(mysql_error());
}

$foresp = mysql_query("select id, firstname, lastname, vipcode, email from users") or die(mysql_error());
while ($row = mysql_fetch_assoc($foresp)) {

echo "Rediger | <a href='?offset=".$offset."&deleteID=".$row['id']."'>Slet</a> | ".$row[firstname]. "&nbsp;".$row[lastname]. "<br>";

}
?>
Avatar billede jaw Nybegynder
24. august 2005 - 16:08 #4
Det gør jeg da meget gerne :)

Også lidt forklaring hvis du vil have det:
Når du starter samt afbryder en php-funktion skal det være samme tegn, om det så er " eller '.

Eks:
echo "Variablen indeholder: ".$variabel.", der er en variabel";
echo 'Variablen indeholder: '.$variabel.', der er en variabel';

Hvis du derimod også skal bruge " eller ' i selve funktionen i form af html-output, skal du enten bruge det modsatte tegn eller tegnet skal escapes
Eks:
echo "<a href='test.php'>test</a>";
echo '<a href="test.php">test</a>";
echo "<a href=\"test.php\">test</a>";
osv. osv. osv.

Håber det hjalp lidt - og selv tak :)
Avatar billede syngredk Nybegynder
24. august 2005 - 16:50 #5
Jaw -->

Et lille spørgsmål til din forklaring, i øvrigt altid med det der " og ' jeg laver fejl..

Men har prøvet at lave denne sætning, udfra det du siger:
echo '.$row[firstname]. "&nbsp;" '.$row[lastname]. "<br>";

For mig ser den rigtig ud, men den viser kun efternavnet
Avatar billede jaw Nybegynder
24. august 2005 - 16:53 #6
Igen kommer du til at blande det lidt sammen. Mit forslag til "rigtig" løsning vil være:

echo $row['firstname']. "&nbsp;".$row['lastname']. "<br>";

da du ikke bruger ' til noget (andet end at du bør vænne dig til at bruge dem på indexerne i dine array). Vær konsekvent med hvordan du bruger dem. Når du som ovenstående vælger at bruge ", så skal det også være " hver gang, og ikke pludselig '.

:)
Avatar billede syngredk Nybegynder
24. august 2005 - 16:54 #7
Ahh, det skal omkring selve KODEN, altså inde i felterne
Avatar billede jaw Nybegynder
24. august 2005 - 16:55 #8
Ja, netop. Det virker uden, men hvis det er strenge (altså tekst) der er i felterne er det bestemt mest korrekt at sætte dem på. Hvis indholdet er int (tal) kan det udelades, men sæt dem altid på, så går man sjældent galt i byen :)
Avatar billede syngredk Nybegynder
24. august 2005 - 17:12 #9
hehe, tillader mig at misbruge din viden lidt:

echo $row['firstname']. "&nbsp;".$row['lastname']. "<a href=mailto".$row['email'].">mail</a>" "<br>";

Nu laver jeg sådan en kode, jeg sørger for at alle ' og " er korrekte. Men får stadig en fejl, så de er sikker forkerte igen ? Men jeg synes selv at jeg husker at sætte " ved html kode og ' bruger jeg ved phpkode
Avatar billede jaw Nybegynder
24. august 2005 - 17:16 #10
Jeg tror du er ved at have principperne rigtigt, men dog smutter det alligevel. Igen "min" løsning:

echo $row['firstname']. "&nbsp;".$row['lastname']. "<a href='mailto".$row['email']."'>mail</a><br>";

Jeg har gjort 2 ting:
1. Tilføjet ' omrking din href='' - det er ikke 100% nødvendigt, men mest korrekt, + at hvis du en dag inddrager <mellemrum> eller lign. tegn, så vil der helt bestemt gå noget galt. (Det gav dig ikke din fejl!)
2. Har fjernet dine " " mellem </a> og <br>. Hvad ville du opnå med dem? :D Dette vil jeg tro gav dig fejlen...
Avatar billede syngredk Nybegynder
24. august 2005 - 17:16 #11
echo $row['firstname']. "&nbsp;".$row['lastname']. "<a href=mailto".$row['email'].>mail</a>" "<br>";

fandt lige en lille fejl vist
Avatar billede syngredk Nybegynder
24. august 2005 - 17:18 #12
Men den ' du tilføjede efter href, er det fordi selve php-koden starter der, at den allerede skal være der??
Avatar billede jaw Nybegynder
24. august 2005 - 17:21 #13
Nej, det er fordi at den også skal være der i ren HTML - også derfor jeg skriver, at det ikke er der din fejl ligger. I normal HTML:
<a href="test.php">test</a>

Når du så skal lave dette i PHP, bør du stadig omkrænse din href, du kan bare ikke bruge " i sig selv, da du bruger den i PHP. Altså:

echo"<a href='test.php'>test</a>";
echo"<a href=\"test.php\">test</a>";
...med henvisning til forklaringen 16.08.28.
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