Avatar billede gregorian Nybegynder
28. august 2003 - 13:52 Der er 10 kommentarer og
1 løsning

php kode skal ikke tolkes som php, men html. hjælp!

Jeg har et stykke kode som jeg skal indsætte i min database, som ser sådan her ud:

<?
include("connect.php");
session_start();
  if (isset($_POST[login]) || $cookie_brugernavn) {
      $brugernavn = strtolower($_POST[brugernavn]);
      $kodeord = $_REQUEST[kodeord];

  if(!$cookie_brugernavn){
      $query = (mysql_query("select * from brugere where brugernavn = '$brugernavn' && kodeord = '$kodeord'"));
      $row = mysql_fetch_array($query);

  }else{
      $query = (mysql_query("select * from brugere where brugernavn = '$cookie_brugernavn' && kodeord = '$cookie_kodeord'"));
      $row = mysql_fetch_array($query);
  }


  if($brugernavn == $row[brugernavn] && $kodeord == $row[kodeord]){
      $_SESSION['brugernavn'] = ucwords($brugernavn);

  if(isset($_REQUEST['cookie'])){
      setcookie ("cookie_brugernavn","$brugernavn", time()+60*60*24*365);
  }
?>
exit;
}
?>

den kode indsætter jeg med:

include("connect.php");
mysql_query("UPDATE artikler SET $rubrik = '$samlet' WHERE id = '$id'") or print mysql_error();


nu kommer den bare med den her fejl:

You have an error in your SQL syntax near '$brugernavn' && kodeord = '$kodeord'"));
[spacer]$row = mysql_fetch_array' at line 1

dvs den tolker det jeg vil indsætte som php kode, som den ikke skal, derimod skal det bare tolkes som alm tekst der skla indsættes..
hvad gør jeg?

har prøvet
$samlet = str_replace("<?","<? /*", $samlet);
$samlet = str_replace("?>","*/ ?>", $samlet);

virker ikke .

har også prøvet med alm html kommentar istedetfor php-en.

hvordanløser jeg det?
Avatar billede gregorian Nybegynder
28. august 2003 - 13:52 #1
Avatar billede erikjacobsen Ekspert
28. august 2003 - 13:53 #2
$samlet = addslashes($samlet);

inden du indsætter
Avatar billede gregorian Nybegynder
28. august 2003 - 13:56 #3
hvor simpelt kan det være. ;/

har siddet med det her problem de sidste 2 dage og prøvede alt muligt andet.

andre små ting som den jeg lige kunne få af vide mens jeg er igang.
Avatar billede gregorian Nybegynder
28. august 2003 - 14:02 #4
hvad er så den omvendte?

stripslashes()?
Avatar billede erikjacobsen Ekspert
28. august 2003 - 14:14 #5
Ja, men den skal du ikke bruge.
Avatar billede gregorian Nybegynder
28. august 2003 - 14:15 #6
? hvorfor ikke?

jeg ændrer du i min tekst hele tiden, så der vil jo hver gang jeg ændrer i den blive indsat endnu en / ved hvert eneste sted..
Avatar billede erikjacobsen Ekspert
28. august 2003 - 14:39 #7
Nej, når den er lagt i databasen forsvinder din \ igen - det er kun for at
undgå syntaksfejl med de '...'-ere du skal have i strenge i SQL.
Avatar billede gregorian Nybegynder
28. august 2003 - 14:44 #8
weird.. den ligger \ ind i min database
Avatar billede erikjacobsen Ekspert
28. august 2003 - 14:54 #9
Hvor kommer din tekst fra? Mange PHP-opsætninger sætter automatisk
\-ere på data fra forms
Avatar billede gregorian Nybegynder
28. august 2003 - 14:57 #10
kommer fra en form + udtræk fra database sammensat.

uden den addslashes kommer den med fejl..
uden stripslashes skriver den \ i min database
Avatar billede erikjacobsen Ekspert
28. august 2003 - 14:59 #11
så skal du lave addslashes på dit udtræk fra databasen, men formentlig ikke
på det fra formen. Det med de automatiske \-ere er ikke ligefrem den mest
geniale opfindelse i PHP
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