Vielen Dank crAzywuLfhttps://www.forum-hilfe.de/member.php?u=1019!
Die Seite werd ich mir grad bookmarken.
Gruss & Danke nochmals
DR_HAMMER
Vielen Dank crAzywuLfhttps://www.forum-hilfe.de/member.php?u=1019!
Die Seite werd ich mir grad bookmarken.
Gruss & Danke nochmals
DR_HAMMER
OK vielen Dank, habe es nun hingekriegt durch eure Hilfe!
Nur noch die Weiterleitung funktioniert nicht richtig:
Ausgabe: Parse error: syntax error, unexpected '=' in x:\xampp\htdocs\projekt\search_and_edit_user.php on line 34
Wieso funktioniert das eigentlich nicht?
EDIT: Verwende nun halt feste Links, hauptsache es geht...:
Gruss & Danke
DR_HAMMER
Vielen Dank crAzywuLf und https://www.forum-hilfe.de/member.php?u=1019The User!
Ich werde noch viel lernen müssen
Was ich immer noch nicht verstehe ist, wieso bei mir die Weiterleitung nicht funktioniert.
Der Löschlink lautet:
http://127.0.0.1/projekt/index.…er&delete_id=32
Wenn ich nun dadrauf drücke, sehe ich das Suchformular wieder im Ursprungszustand, aber meine Adressleiste heisst immer gleich wie der Löschlink.
Ich habe vergessen zu erwähnen, dass die Suchseite per Include eingebunden wird, vielleicht liegt das Problem darin?. Also die komplette "search_and_edit_user.php" sieht so aus:
<?php
// Datenbank-Verbindung aufbauen
include ("include/mysql.php");
$search = $_POST['search'];
$searching = $_POST['searching'];
$find = $_POST['find'];
$field = $_POST['field'];
?>
<h2>Benutzer suchen:</h2>
<form name="search" method="POST" action="<?=$PHP_SELF?>">
Suche: <input type="text" name="find" /> in
<Select NAME="field">
<Option VALUE="Vorname">Vorname</option>
<Option VALUE="Nachname">Nachname</option>
<Option VALUE="Tel" selected>Tel</option>
</Select>
<input type="hidden" name="searching" value="yes" />
<input type="reset" value="Zurücksetzen" />
<input type="submit" name="search" value="Suchen!" />
</form>
<?php
//Nur anzeigen wenn ein Suchbegriff eingegeben wurde
if ($searching == "yes")
{
echo "<h3>Such-Ergebnis:</h3><p>";
//Falls kein Suchbegriff eingegeben wurde, zeige alle User an
if ($find == "")
{
$result = mysql_query("SELECT * FROM `user`") OR die(mysql_error());
while($ausgabe = mysql_fetch_array($result)){
echo "<table border='1'>";
echo "<td>";
echo "Vorname: ".$ausgabe['Vorname'];
echo "</br>";
echo "Nachname: ".$ausgabe['Nachname'];
echo "</br>";
echo "Tel: ".$ausgabe['Tel'];
echo "</td>";
echo "<td>";
$search_id = $ausgabe['ID_user'];
if (!empty($_GET['delete_id']) && $_GET['delete_id'] == $search_id && ctype_digit($_GET['delete_id']))
{
$delete_exe = "DELETE from `user` WHERE `ID_user` = '".mysql_escape_string($search_id)."'";
mysql_query($delete_exe);
header('Location: ?site=' . $_GET['site']);
exit();
}
else
echo "Der zu löschende Eintrag wurde nicht gefunden!";
if (!empty($search_id))
{
echo "<a href='index.php?site=search_and_edit_user&delete_id=$search_id'>[Löschen]</a>";
}
echo "</td>";
echo "</br>";
echo "</br>";
echo "</table>";
}
// Script-Lauftzeitmessung, da das Script hier endet statt am Ende der Datei.
$runtime = microtime_diff($runtime_start, microtime());
$runtime = sprintf("%0.3f", $runtime);
echo "</br></br><i>Es werden alle Benutzer angezeigt, da Sie keinen Suchbegriff eingegeben haben.</i>";
echo "</br></br></br><div style = 'text-align: right;'><i>Inhalt wurde generiert in $runtime Sekunden.</i></div>";
exit;
}
// Such-Begriff filtern
$find = strtoupper($find);
$find = strip_tags($find);
$find = trim ($find);
//Nach Suchbegriff suchen im ausgewaehltem Feld
$data = mysql_query("SELECT * FROM user WHERE UPPER(`$field`) LIKE'%$find%'") OR die(mysql_error());
//Resultat(e) anzeigen
while($result = mysql_fetch_array( $data ))
{
echo "Vorname: " .$result['Vorname'];
echo "</br>";
echo "Nachname: " .$result['Nachname'];
echo "</br>";
echo "Tel: " .$result['Tel'];
echo "</br>";
echo "</br>";
}
//Anzahl Ergebnisse anzeigen
$anymatches=mysql_num_rows($data);
echo "<b>$anymatches</b> Ergebnis(se) gefunden.</br>";
if ($anymatches == 0)
{
echo "Es konnte keinen Eintrag gefunden werden!</br></br>";
}
//Errinern nach dem gewaehltem Suchbegriff
echo "<i>Sie haben gesucht nach:</i> <b>" .$find;
echo "</b> unter dem Bereich <b>$field</b>.";
}
?>
Alles anzeigen
Im Prinzip wird zuerst geprüft, ob ein Suchwert vorhanden ist. Wenn nicht, dann alle User anzeigen, ansonsten nur nach den gesuchten User anzeigen. Es gibt zwei Tabellen, in der Linken kommen die Suchergebnisse, beim rechten einen Löschlink, wo man die nicht benötigten Datensätze wieder löschen kann. Der Löschlink wird nur angezeigt, wenn die ID auch wirklich existiert, ansonsten einfach eine Ausgabe, dass die ID nicht gefunden wurde.
Nur leider scheint dieses Script nicht genau das zu tun. Dies würde mir sehr helfen, PHP besser zu verstehen, wenn ich wüsste an was es liegen würde.
Ich freue mich auf jede Hilfe oder Verbesserungsvorschlag und danke euch im Voraus!
Jop, ich teste es gerade in der lokalen XAMPP Umgebung. Ich denke es liegt am Aufbau meines Codes..., bin totaler PHP Anfänger:
ZitatAlles anzeigen
$search_id = $ausgabe['ID_user'];if(isset($_GET['delete_id'])){
if ($_GET['delete_id'] == $search_id){
$delete_exe = "DELETE from `user` WHERE `ID_user` = '$search_id'";
mysql_query($delete_exe);
header("Location: index.php?site=search_and_edit_user");
exit();
}
else echo "Der zu löschende Eintrag wurde nicht gefunden!";
exit();
}
if ($search_id!="")
{echo "<a href='index.php?site=search_and_edit_user&delete_id=$search_id'>[Löschen]</a>";}
Also nach dem Ausführen des Löschvorgangs habe ich diesen Code eingefügt:
Zitat
mysql_query($delete_exe);
...
header("Location: http://127.0.0.1");
Es scheint aber irgendwie nichts zu geschehen nach dem Löschen.
Ich habe noch eine Frage bezüglich dem Aktualisieren. Nach dem Klicken auf den Löschlink, bleibt meine ID bestehen in der URL:
?site=news&delete_id=10
Wie kann ich dieses "&delete_id=10" wieder entfernen, sobald ich auf den Löschlink gedrückt habe?
In einem anderne Forum habe ich so etwas gesehen:
Zitat<?php
if(isset($_GET['x'])) {
header("Location: http://adresse.de");
exit();
}
?>
Aber ich denke nicht, dass es Das ist was ich suche.