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?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
28. august 2003 - 13:52
#1
28. august 2003 - 13:53
#2
$samlet = addslashes($samlet); inden du indsætter
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.
28. august 2003 - 14:02
#4
hvad er så den omvendte? stripslashes()?
28. august 2003 - 14:14
#5
Ja, men den skal du ikke bruge.
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..
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.
28. august 2003 - 14:44
#8
weird.. den ligger \ ind i min database
28. august 2003 - 14:54
#9
Hvor kommer din tekst fra? Mange PHP-opsætninger sætter automatisk \-ere på data fra forms
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
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
Vi tilbyder markedets bedste kurser inden for webudvikling