[PHP, MySql] Nach erfolgreichen eintrag weiterleiten

cille hat gesagt.:
DICKES THX
[FLEX]

funktioniert har genaus so wie ich es wollte *gg*,
aber dies funktioniert leider nicht wenn ich NEWS DELETE.

Hier mal der Code:
PHP:
if (isset ($_REQUEST["news?delete"])) {
    $sql_newsdelete="DELETE FROM news WHERE id='".mysql_real_escape_string($_REQUEST['news?delete'])."'";
    if(mysql_query($sql_newsdelete)) {
			header ("Location: admin.php?news?delete?true");
		}
		else {
			header ("Location: admin.php?news?delete=false");
		} 
}
Ich kann keine News auswählen zum deleten es wird gleich weitergeleitet


Das hatte ich doch schon geschrieben, aber das funktioniert nicht, trozdem thx,
ich flipp aus, find auch keine lösung :(
 
Nein, ich habe es nochmal ein wenig abgeändert, bei meiner Version wird nicht geprüft, ob die Variable gesetzt ist, sondern ob sie auch eine Zahl ist, also wie du sie für die ID brauchst.
 
[edit]
Irgendwie habe ich wirres Zeugs geschrieben. ;)
Also nochmal.....

PHP:
admin.php?news?delete?true
Hier wird die Variable $_REQUEST['news?delete?true'] an die admin.php übergeben.

PHP:
admin.php?news?delete=false
Hier wird die Variable $_REQUEST['news?delete'] mit dem Wert "false" an die admin.php übergeben.

Richtig währe es so:
PHP:
admin.php?news&delete=true
// bzw. so
admin.php?news&delete=false
Wobei ich hier keinen wirklichen Sinn sehe.

Ich vermute dass "news" eine Sektion Deiner Seite sein soll und "delete" eine Aktion ausführen soll.
Um es besser zu erklären, nehme ich mal Deinen anderen Thread.
Du erstellst den Link:
PHP:
<a href='admin.php?news&delete=$row[id]'>Eintrag Löschen</a>
Du holst also eine ID für einen Newsbeitrag aus der Datenbank und schreibst ihn in den Link.
Nun willst Du einen bestimmten Newsbeitrag löschen und klickst dazu auf den entsprechenden Link.
Anschliessend wertet das Script die per URL übergebenen Daten aus und handelt entsprechend:
PHP:
<?php
if( isset($_REQUEST['news']) AND isset($_REQUEST['delete']) ) { // Prüfen ob "news" und "delete" überhaupt gesendet wurde, da es sonst bei error_reporting(E_ALL) zu einem Hinweis (Notice) kommt.
     if( !empty($_REQUEST['delete']) ) { // Prüfen ob "delete" nicht leer ist (man beachte das "!" vor dem empty().
          $sql_newsdelete = "DELETE FROM `news` WHERE `id`='".mysql_real_escape_string($_REQUEST['delete'])."'"; // Da "delete" nicht leer ist, wird hier die ID zurück gegeben.
          if (mysql_query($sql_newsdelete)) { // Querry ausführen und prüfen ob dieser auch ausgeführt wurde.
               echo "Erfolgreich gelöscht!"; // Querry wurde ausgeführt.
          } else {
               echo "Fehlgeschlagen"; // Querry wurd nicht ausgeführt.
          }
     } else {
          echo "Sie haben keine ID angegeben"; // "delete" hatte keinen Wert enthalten.
     }
}
?>
Ich habe mal ein kleines Beispielscript geschrieben, damit Du siehst was bei welchem Linkaufbau zurückgegeben wir:
PHP:
php.net bezeichnet den in den [ ] stehenden Inhalt (siehe unten) zwar als "Indizes",<br>
aber da das Array ja erst beim aufrufen der URL mit den Variablen/Werten gefüllt wird<br>
halte ich die Bezeichnung in diesem Fall eher für verwirrend und bleibe bei der Bezeichnung "Variable".<br>
<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news">?news</a> Variable "news" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=">?news=</a> Variable "news" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=50">?news=50</a> Variable "news" mit dem Wert "50".<br>
<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?delete">?delete</a> Variable "delete" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?delete=">?delete=</a> Variable "delete" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?delete=10">?delete=10</a> Variable "delete" mit dem Wert "10".<br>
<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news&delete">?news&delete</a> Variable "news" mit leeren Wert und Variable "delete" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news&delete=">?news&delete=</a> Variable "news" mit leeren Wert und Variable "delete" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news&delete=10">?news&delete=10</a> Variable "news" mit leeren Wert und Variable "delete" mit dem Wert "10".<br>
<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=&delete">?news=&delete</a> Variable "news" mit leeren Wert und Variable "delete" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=&delete=">?news=&delete=</a> Variable "news" mit leeren Wert und Variable "delete" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=&delete=10">?news=&delete=10</a> Variable "news" mit leeren Wert und Variable "delete" mit dem Wert "10".<br>
<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=50&delete">?news=50&delete</a> Variable "news" mit dem Wert "50" und Variable "delete" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=50&delete=">?news=50&delete=</a> Variable "news" mit dem Wert "50" und Variable "delete" mit leeren Wert.<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=50&delete=10">?news=50&delete=10</a> Variable "news" mit dem Wert "50" und Variable "delete" mit dem Wert "10".<br>
<br>
Das "="-Zeichen kennzeichnet also den zur Variable gehörenden Wert (Variable=Wert).<br>
Wenn die Variable also keinen Wert erhalten soll, lässt Du das "="-Zeichen und den Wert einfach weg.<br>
<br>
Mit dem "&"-Zeichen kennzeichnest Du weitere Variablen (egal ob mit ohne ohne Wert).<br>
Beim letzten Link würde es mit einer weiteren Variable (ich nenne sie mal "foo") ohne Wert also so aussehen:<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=50&delete=10&foo">?news=50&delete=10&foo</a><br>
bzw. so<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=50&delete=10&foo=">?news=50&delete=10&foo=</a><br>
Soll die Variable "foo" nun den Wert "bar" bekommen, würde es beim letzten Link so aussehen:<br>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?news=50&delete=10&foo=bar">?news=50&delete=10&foo=bar</a><br>
<br>
Ausgabe: [Variable] => Wert
<?php 
echo "<pre>";
print_r($_REQUEST);
echo "</pre>";
?>
Einfach mal in einer Datei speichern und angucken/ausprobieren. ;)
[/edit]
 
Zuletzt bearbeitet:
Hi ho,
dickes THX, kurze Frage, ich wollte ja das "=" benützen, aber ich kriege das nicht hin, ich schaf nur die "?" zu benutzen, kannst du mir da ein kleinen TIPP geben?
oder vieleicht ein TUTOR schreiben,
ich schau mir mal ab was du grade da oben geschrieben hast, dass ist sehr intetressant.

THX nochmal

mfg,
cille
 
@Flex,
deswegen bin ick ja im Forum, um zu lernen wenn ich nicht weiter weiß,
ich Probier schon, mir was von anderen anzuschauen,
habe dutzende Bücher zum lernen, aber es ist immer besser sich auf leute zu verlassen die einem grade vor ort helfen können,

Das ist doch der sinn des Forums, wenn man nicht weiter weiß,
dann einfach hier fragen, dann wird man geholfen bzw man hilft anderen.

Die Basics zu beherrschen ist ja mein erstes Ziel.
Danach kann erstmal was anderes kommen.
Es ist schwierig mit PHP anzufangen, weil man nicht weiß mit was man anfangen soll zu lernen. Man muss erstmal den ersten schritt schaffen, dann sieht man erst was ist grundlage und was ist erweiterbar.

Hoffe du verstehst meine Worte :D,
ich lerne jetzt seit 4 Wochen PHP und habe eigentlich schon relativ viel gelernt.
Dank dem FORUM und vorallem dank aller User die hier helfen.

mfg,
cille
 
Hey dank euch allen, werde gleich mal alles ausprobieren und mir dies ins Gehirn schießen.

Seit super Jungs, danke sehr
 
Zurück