Wat kan beter aan dit script?

Status
Niet open voor verdere reacties.

DarkFeather

Gebruiker
Lid geworden
21 jan 2004
Berichten
134
Ik heb de volgende pagina (=add.php):

PHP:
<?php 
if ($_POST[send]==1)
{
include "connect.php";
      $_POST[naam] = addslashes($_POST[naam]);
      $_POST[tekst] = addslashes($_POST[tekst]);

   $query = "INSERT INTO $tabel (naam,tekst) VALUES ('$_POST[naam]','$_POST[tekst]')";
   mysql_query($query) or die ("Toevoegen mislukt"); 
      echo "De pagina is toegevoegd."; 
}
else
{

?>

<form name="submit" method="post" action="add.php">
<input type="hidden" name="send" value="1">
Vul het onderstaande formulier volledig in om een bericht toe te voegen:<p />
<b>Naam van de pagina:</b><br /><input type="text" name="naam"><p /> 
<b>Tekst voor op de pagina:</b><br />
<textarea name="tekst" cols="50" rows="5"></textarea>
<br>
  <input type="submit" value="Toevoegen">
</form>

<?
}
?>
Include "connect.php" zorgt ervoor dat de verbinding met de database tot stand komt en zet de variabele $tabel (de naam van de tabel).
Hij werkt zoals ik wil dat hij werkt. Maar wat kan/moet ik hier aan verbeteren?
 
de spaties tussen de <p /> en <br > weghalen en dan ziet het er goed uit:D
 
Geplaatst door KaWouter
de spaties tussen de <p /> en <br > weghalen en dan ziet het er goed uit:D
In jouw mening misschien ja :p

PHP:
<?php 
  function slashes($tekst)
  {
    if(get_magic_quotes_gpc() == FALSE)
    {
    $tekst = addslashes($tekst);
    }
  return $tekst;
  }

  if((isset($_POST["naam"]) == TRUE) AND (isset($_POST["tekst"]) == TRUE))
  {
  include("connect.php"); // ik hoop dat dat goed is :P
  $naam = slashes($_POST["naam"]);
  $tekst = slashes($_POST["tekst"]);
  $query = "INSERT INTO " . $tabel . " (naam,tekst) VALUES ('" . $naam . "','" . $tekst . "')";
  $result = @mysql_query($query);
    if($result == FALSE)
    {
    echo ("Kon query niet uitvoeren: " . mysql_error());
    }
    elseif(mysql_affected_rows() == 0)
    {
    echo "Query werd succesvol uitgevoerd, maar om onbekende redenen werden er geen rijen aan de database toegevoegd";
    }
    else
    {
    echo "De pagina is toegevoegd";
    }
  }
  else
  {
?>

<form name="submit" method="post" action="add.php">
<input type="hidden" name="send" value="1">
Vul het onderstaande formulier volledig in om een bericht toe te voegen:<p />
<b>Naam van de pagina:</b><br /><input type="text" name="naam"><p /> 
<b>Tekst voor op de pagina:</b><br />
<textarea name="tekst" cols="50" rows="5"></textarea>
<br>
  <input type="submit" value="Toevoegen">
</form>

<?
  }
?>
Zo issie beter :)
Ik hoop btw dat connect.php ook goeie errorhandling enzo heeft ;)

Succes :thumb:
 
Is "<BR />" correct? een br heeft toch geen afsluitende tag en als dat wel zo was moet de slash er toch zeker voor (</BR>).
 
Volgens de XHTML regels moet elke tag afgesloten worden, dus de BR tag moet <br /> zijn en alles kleine letters. Ook de image tag moet gesloten worden, dus <img src="plaatje.gif" />
Kijk ook maar eens hier.
 
Geplaatst door JPeetje
In jouw mening misschien ja :p

PHP:
<?php 
  function slashes($tekst)
  {
    if(get_magic_quotes_gpc() == FALSE)
    {
    $tekst = addslashes($tekst);
    }
  return $tekst;
  }

  if((isset($_POST["naam"]) == TRUE) AND (isset($_POST["tekst"]) == TRUE))
  {
  include("connect.php"); // ik hoop dat dat goed is :P
  $naam = slashes($_POST["naam"]);
  $tekst = slashes($_POST["tekst"]);
  $query = "INSERT INTO " . $tabel . " (naam,tekst) VALUES ('" . $naam . "','" . $tekst . "')";
  $result = @mysql_query($query);
    if($result == FALSE)
    {
    echo ("Kon query niet uitvoeren: " . mysql_error());
    }
    elseif(mysql_affected_rows() == 0)
    {
    echo "Query werd succesvol uitgevoerd, maar om onbekende redenen werden er geen rijen aan de database toegevoegd";
    }
    else
    {
    echo "De pagina is toegevoegd";
    }
  }
  else
  {
?>

<form name="submit" method="post" action="add.php">
<input type="hidden" name="send" value="1">
Vul het onderstaande formulier volledig in om een bericht toe te voegen:<p />
<b>Naam van de pagina:</b><br /><input type="text" name="naam"><p /> 
<b>Tekst voor op de pagina:</b><br />
<textarea name="tekst" cols="50" rows="5"></textarea>
<br>
  <input type="submit" value="Toevoegen">
</form>

<?
  }
?>
Zo issie beter :)
Ik hoop btw dat connect.php ook goeie errorhandling enzo heeft ;)

Succes :thumb:

Dit zijn de posts waar ik dus wat mee kan!!! Bedankt maar weer eens!

Connect.php heeft nu ook een goeie errorhandling (mbv van dit scirpt als leidraad). Daarom vroeg ik het ook. Ik wou gewoon kijken wat beter moest, zodat ik kon zien wat ik niet goed doe.

En <br /> is inderdaad xhtml. Er zit een spatie in omdat oudere browsers de tag dan niet meer herkennen. <br /> is zowel de openingstag als direct de sluittag. Dus zeg maar 2 tags in een (zo ongeveer dan ;)). Volgens xhtml heeft elke code een sluittag nodig.
 
Laatst bewerkt:
Geplaatst door Barry_127
nog een vraagje:

wat doet get_magic_quotes_gpc?

Dat doet hetzelfde als addslashes();

Je kunt met dit script kijken of het aan of uit staat

PHP:
<?

if(get_magic_quotes_gpc() == TRUE)
{
  echo "Magic quotes staan aan :)";
}
else
{
  echo "Magic quotes staan niet aan, gebruik addslashes(); !!";
}
?>

:thumb:
 
addslashes(); maakt van
  • ' -> \'
  • " -> \"
  • \ -> \\

Dit zorgt ervoor dat tijdens het invoeren van een query bijvoorbeeld dat de query niet halverwege ermee stopt :)

www.php.net/addslashes

Succes regel met :thumb: verwijdert ivm. trademark rechten :rolleyes:
 
Laatst bewerkt:
Geplaatst door DarkFeather
En <br /> is inderdaad xhtml. Er zit geen spatie in omdat oudere browsers de tag dan niet meer herkennen.

Zeg me als ik het verkeerd heb maar ik zie toch duidelijk een spatie in <br />
 
Geplaatst door masterprut


Zeg me als ik het verkeerd heb maar ik zie toch duidelijk een spatie in <br />

Tikfoutje, er hoort indd wel een spatie in. Ik heb het al aangepast ;).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan