PHP-Syntax Verbesserungsvorschläge

goodfreezer

Grünschnabel
Hallo,
würde mich selbst als jemanden bezeichen der in PHP durch recherche und rumprobieren eigentlich seine meisten PHP Aufgaben erledigen kann.

Nun ist es so, dass ich zum Eintragen und Bearbeiten (löschen, editieren) von Datensätzen mit PHP aus einer MYSQL-Datenbank eigentlich immer auf den gleichen Quelltext als Basis zurückgreife.

Deshalb würde mich mal eine Einschätzung von euch PHP-Experten interessieren was Ihr von diesen Scripten haltet und ob Ihr Verbesserungsvorschläge zum Quelltext habt. Funktionieren tut mit den Scripten alles so wie ich es mir vorstelle. Aber frage ich mich eben ob Scriptteile zb. aus Sicherheits- oderPerformancegründen angepasst werden sollten. Mir fällt halt auf , dass ich hier bissi viel mit post und get rumgemischt habe.... Aber wie gesagt ist das so eben eine Variante die bei mir als Vorlage immer wunderbar funkt.

Als Beispiel nun ein bissi Quelltext zu einem Lexikon das auf 2 Datenbankfelder der tabelle lexikon zugreift. lname = Lexikonbegriff und lbe = Lexikonbeschreibung:


Artikel anlegen:
lexikon_anlegen.php
PHP:
<?php
$lid = mysql_real_escape_string($_POST['lid']);
$lname = mysql_real_escape_string($_POST['lname']);
$lbe = mysql_real_escape_string($_POST['lbe']);
if (isset($_POST['submit']))
{
$result = mysql_query("INSERT INTO lexikon (lname, lbe)
VALUES ('$lname','$lbe')",$connect);
?>
  Saunadaten wurden erfolgreich angelegt
<?php
}
else
{
?>
<table>
<p style="margin-left: 3em; "><b>Sauna anlegen</b></p>
<form name="meins" method="post" action="<? echo $HTTP_SERVER_VARS['PHP_SELF'] ?>">
<p style="margin-left: 3em; "><u>Lexikondaten:</u><table>
<tr>
<td>Lexikonbegriff:</td><td><input name="lname" type="text" size="60" maxlength="120" ></td>
</tr><tr>
<td>Lexikonbeschreibung:</td>
<td><textarea name="lbe" cols="50" rows="10" maxlength="5"><?PHP echo $_POST['lbe']; ?></textarea></td>
</tr>
<tr>
<tr>
<td><input name="submit" class="Button" type="submit" value=" Absenden "></td>
</tr>
</form>
</table>
<?
 } 
?>

Artikel anzeigen & Löschen:
lexikon_anzeigen.php
PHP:
<?
$lid = mysql_real_escape_string($_POST['lid']);
$lname = mysql_real_escape_string($_POST['lname']);
$lbe = mysql_real_escape_string($_POST['lbe']);
$clear2 = isset($_GET['clear2']) ? $_GET['clear2'] : "";
if($clear2) 
{
mysql_query("DELETE FROM lexikon WHERE lid={$_GET['clear2']}",$connect); 
}
$result = mysql_query("SELECT * FROM lexikon ORDER BY lname asc",$connect);
while($myrow = mysql_fetch_assoc($result))
{
?>
<tr>
<td>
<a title="Lexikondaten l&ouml;schen" href="<? echo ''.$_SERVER['PHP_SELF'] .'?clear2='.$myrow['lid']  ?>" onClick="return confirm('Wirklich Löschen?')"><span><img src="bilder/3.gif" border="0"></span></a>|
<a title="Saunadaten bearbeiten" href="lexikon_editieren.php?lid=<?php echo $myrow['lid'] ?>"><img src="bilder/2.gif" border="0"></a>
</td>
<td><?php echo $myrow['lname']; ?></td>
<td><?php echo $myrow['lbe']; ?></td>
<td>
</tr>
<?php
} 
?>
</table>
</body>
</html>

Artikel bearbeiten:
lexikon_editieren.php
PHP:
<?php
$lid = isset($_GET['lid']) ? $_GET['lid'] : "";
$lname = isset($_GET['lname']) ? $_GET['lname'] : "";
$lbe = isset($_GET['lbe']) ? $_GET['lbe'] : "";
if (isset($_POST['submit'])) {
$sql = "UPDATE lexikon SET lname='".$_POST['lname']."', lbe='".$_POST['lbe']."' WHERE lid='".$_POST["lid"]."'";
$result = mysql_query($sql,$connect);
echo "<br>Lexikon wurden ge&auml;ndert.<br>";
}
else {
echo"<br><br>";
$query = "Select * from lexikon";
if (vid != "")
$query .= " where lid = $lid";
else
$query .= " ORDER BY lid DESC";
$result = mysql_query($query) or die ("MySQL-Fehler: " . mysql_error());
while($myrow = mysql_fetch_assoc($result))
{
echo $querry;
?>
<form name="meins" method="post" action="<? echo $HTTP_SERVER_VARS['PHP_SELF'] ?>">
<table>
<tr><td>Saunaname:</td><td><input name="lname" type="text" size="50" maxlength="100" value="<?php echo $myrow['lname']; ?>"></td></tr>
<tr>
<td>Vereinsbeschreibung:</td>
<td><textarea name="lbe" cols="50" rows="10" maxlength="5"><?PHP echo $myrow['lbe']; ?></textarea></td>
</tr>
<input name="lid" type="hidden" value="<?php echo $myrow['lid']; ?>">
<tr><td></td><td><input style="margin-left:1.5em" name="submit" type="submit" value=" Absenden "></td></tr>
</form>
</table>
<?php
}}
?>

Vielen Dank für jeden Tip.
Gruß goodfreezer
 
Also was mir mit dem ersten blick auffällt ist was in einer geschweiften klammer steht
sollte doch viell. eingerück sein also


du:

{
fdsagdasg
}

besser:
{
-----fdsagdsg
}

aber das kan auch grad an dem editor hier liegen >.<
 
Außerdem könntest du mit Templates HTML-Code von PHP-Code trennen, anstelle von <? solltest du <?php benutzen, da <? nicht überall funktioniert und die Form
PHP:
if(blub)
Anweisung;
ist auch nicht so Vorteilhaft besser wäre:
PHP:
if(blub)
{
  Anweisung;
}
 
Zuletzt bearbeitet:
Zurück