Wat hoor je nu eigenlijk te gebruiken in je php

het teken '
of het teken "

Ik had namelijk een probleem dat soms invoer niet werd geplaatst in mijn sql.
na langzoeken kwam ik er dus achter dat de tekst die ik soms invoer ook het teken
' heeft.

Gezien ik in mijn php werk met ' gezien dit gemakkelijker is met het invoegen van "
word door deze tekst met het teken ' de boel weer afgesloten.

Hoe moet je dit eigenlijk goed verwerken, want als je alles afsluit met "
en je hebt een keer een " in je tekst dan zal ik het zelfde probleem hebben.

ik hoop dat ik een beetje begrijpelijk heb uit gelegd wat ik wil weten.

bedankt.
(overbodige code heb ik weggelaten betreft variabele die zijn normaal dus wel aanwezig)

okee ga ik onthouden en eventueel aanpassen.

Alleen wat mijn probleem is volgens mij.
Is dat voordat het de sql in gaat gaat hij al in de war met de ' ik zal even de code plaatsen die ik gebruik. misschien dat ik daar wat verkeerd doet.

Op dit moment loop het wel goed met de eerst genoemde oplossingen.

Toevoeging op 13/10/2013 02:48:11:

eerste gedeelte hier voer ik een omschrijving in.
ps: filmnaam post word nog uit een voorgaande php weggehaald

<?php

$filmnaam=$_POST['filmnaam'];

// sluiten php

<p align="center">&nbsp;</p>
<p align="center"><span class="bb"></span></p>
toevoegen
<form action="index2.php?p=fgezientoevoegen3" method="post">
<div align="center">
<table width="694" height="139" border="1">
<tr>
<td width="141" height="37">Omschrijving:<a href="http://www.google.nl//search?q=<?php echo $filmnaam ?> moviemeter" target="_blank"><img src="http://www.msxflash.nl/plaatjes/zoeken-20x20.png"; alt="Zoeken Cover" width="19" height="19" /></a></td>
<td width="537"><textarea name="omschrijving" cols="100" rows="8" id="omschrijving"></textarea></td>
</tr>
</table>
</div>
<p align="center">&nbsp;</p>
</form>
</body>
</html>

?>

2de gedeelte word aangeroepen na de submit.


<?php


include 'inf.php';



$omschrijving2=$_POST['omschrijving'];


$order = array("'",'"');
$replace = array('&#39','&#34');

$omschrijving = str_replace($order, $replace, $omschrijving2);

mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$query = "INSERT INTO filmsgezien VALUES ('','$naam','$jaartal','$categorie','$beoordeling','$extrainfo','$h','$datum','$cover','$omschrijving','$tr')";
mysql_query($query);
mysql_close();

echo '<BR><BR><BR>Toegevoegd<br><br>';

// sluiten php




</form></td>
<td width="341"><p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">Bij toevoeging telling. Niet vergeten</p>
<form action="index2.php?p=countinvoer" method="post">
<p align="center"> Telling:
<select name="filmstellensub" size="1" id="filmstellensub">
<option selected>-1</option>
<option>+1</option>
</select>
<input type="submit" class="buttondgreen" value="Telling D" />
</p>
</form></td>
</tr>
</table>


?>

als ik dit niet toevoeg heb ik het probleem dat de php totaal niet word doorgevoerd
en kwam ik tot de conclusie dat dit door de ' komt. nu kan ik de sql eigenschappen wel aanpassen
maar dan los ik nog steeds niet het probleem om.
ps: met het onderstaande misschien zit mijn probleem elders

<?php
$omschrijving2=$_POST['omschrijving'];


$order = array("'",'"');
$replace = array('&#39','&#34');

?>
Dennis WhoCares op 12/10/2013 23:04:26

je invoer escapen ?
met mysqli_real_escape_string()


Gebruik geen mysql_ maar mysqli_.
En gebruik dan gewoon mysqli_real_escape_string().
Gebruik geen mysql_ maar mysqli_

Ik ga maar weer aan de slag want ik zie dat ik weer heel veel moet aanpassen.

Reageren