ik heb de volgende functie voor het uitvoeren van html en php uit een database, deze werkt uitstekend voor html en kleine, simpele stukjes php.
Maar ik krijg ruzie met een simpel invoegscriptje, hier mijn functie:
<?php
function run_and_display($bron){
$new=addslashes($bron);
$new=stripslashes($new);
$arr=explode("<?php",$new);
$begintag="<?php";
$i=0;
if (substr($arr[0], 0, strlen($begintag)) != $begintag){
echo($arr[0]);
}
while($i< count($arr)){
$i++;
$new2=explode("?>",$arr[$i]);

$new3=str_replace("<?php"," ",$new2);
$new4=str_replace("?>"," ",$new3);
eval(html_entity_decode($new4['0']));
echo ($new4['1']);


}
}
?>

en mijn inlogscriptje(klopt volgens mij wel, maar voor de zekerheid)

<?php
if(!empty($_POST)){
include("mysql_connect.php");
$query="SELECT * FROM users WHERE username='".$_POST['username']."'
AND password='".$_POST['password']."'";
$result=mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result)>0){
$_SESSION['username']=$_POST['username'];
header("Location: indexi.php");
}else{
echo("Deze combinatie van inlognaam en wachtwoord is onjuist.<br>");
echo('<a href='.$_SERVER['PHP_SELF'].' class="link">Nogmaal proberen</a>');
}
}else{
?>
<center><h2>Inloggen</h2>

<table border="0" align="center" width="30%">
<form name="form1" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<tr><td>Gebruikersnaam:</td><td> <input name="username" type="text" size="30" maxlength="40"><br></td></tr>
<tr><td>Wachtwoord:</td><td> <input name="password" type="password" size="10" maxlength="10"><br></td></tr>
<hr>
<tr><td><input type="submit" name="Submit" value="Inloggen"></td>
<td><input name="reset" type="reset" id="reset" value="Leegmaken"></td></tr></table>
</form>
</td></tr></table>
<?php
}
?>

ik krijg deze errors
Parse error: syntax error, unexpected $end in c:\inetpub\wwwroot\gijs\zonta\index.php(30) : eval()'d code on line 15

en
Parse error: syntax error, unexpected '}' in c:\inetpub\wwwroot\gijs\zonta\index.php(30) : eval()'d code on line 2


de functie is btw een debugged versie van een zelfde soort functie die hier tussen de scripts stond, maar die bij mij van geen kant werkte
Kan het zijn dat hij zich verslikt in de HTML van je inlogscript? Misschien als je die allemaal echoot gaat het wel goed?
je hebt gelijk jan, als ik het gewoon echo gaat alles goed, heel erg bedankt voor alles!!!
Juist, dus eval () moet pure PHP hebben zonder HTML. Mooi dat het opgelost is.
ja, dat wist ik wel,
maar de bedoeling van de functie was juist dat hij zelf PHP en HTML van elkaar scheid en dan PHP eval() en HTML echo();, dat was de bedoeling, maar ik ben al lang blij dat het werkt

Reageren