tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
4510
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Tomas1967 Tomas1967 ist offline Mitglied Bronze
    Registriert seit
    Jul 2005
    Beiträge
    44
    Hallo,

    ich habe ein Problem. Wenn ich auf meiner Seite beispielsweise Einträge lösche, dann lässt sich die Seite/URL noch aufrufen.

    Ist es irgendwie möglich zu prüfen, ob ein Eintrag/ID noch in der Dateinbank vorhanden ist?

    Wenn nicht mehr vorhanden irgendwas sinnvolles machen. Wenn noch vorhanden nichts tun.

    Hoffentlich versteht mich auch wer *gg*
    Geändert von Tomas1967 (04.02.07 um 13:11 Uhr)
     

  2. #2
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!
    Zitat Zitat von Tomas1967 Beitrag anzeigen
    Hoffentlich versteht mich auch wer *gg*
    Könnte sein.....

    Wenn Du Dein Query ausführst, wird im Erfolgsfall TRUE zurück gegeben..... andernfalls FALSE.
    PHP-Code:
    $query mysql_query("DELETE FROM............ ");
    if(
    $query) {
        echo 
    "Eintrag wurde gelöscht";
    } else {
        echo 
    "Eintrag konnt nicht gelöscht werden!";

    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  3. #3
    Tomas1967 Tomas1967 ist offline Mitglied Bronze
    Registriert seit
    Jul 2005
    Beiträge
    44
    Neee, ich möchte ja nichts löschen.

    Beispiel - ich habe einen Eintrag mit folgender Url - http://www.meineDomain.de/eintrag-12.html

    In der Datenbank steht dieser mit - ID, Cid, Titel, Beschreibung u.s.w

    Wenn ich diesen Eintrag jetzt aus der Datenbank löschen, dann lässt sich die URL - http://www.meineDomain.de/eintrag-12.html aber noch aufrufen.

    Und genau das möchte ich unterbinden. Nur weiß ich nicht wie *heul*

    Ich benötige eine Abprüfung, ob ein Eintrag noch in der Datenbank vorhanden ist.

    Eintrag nicht vorhanden = mach was
    Eintrag vorhanden = alles okay
     

  4. #4
    campari campari ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    267
    Prüf über die SuperGlobale GET , ob der Wert einen Abgleich in der Datenbank hat

    PHP-Code:
    $get htmlentities($_GET['get']);
    if ((!empty(
    $get)) && (is_numeric($get))) {
    $sql mysql_query("SELECT ID FROM $tabelle WHERE ID = '".mysql_real_escape_string($get)."'");
    if (
    mysql_num_rows($sql) == 1) {
    echo 
    " alles okay";
    } else {
    echo 
    "mach was";
    }

    Geändert von campari (20.12.06 um 02:19 Uhr)
     

  5. #5
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Die HTML Datei ist also auf dem Webspace weiterhin vorhanden?

    Hmm, keine Ahnung ob sich da irgendwas mit mod_rewrite machen lässt.
    Wenn nicht, dann würde ich in jede Seite eine Datenbankabfrage einbauen (oder einbinden).
    PHP-Code:
    <?php
    $domain 
    "http://www.meineDomain.de";
    mysql_connect("localhost""user""pass") or die(mysql_error());
    mysql_select_db("Datenbank") or die(mysql_error());
    $check mysql_query("SELECT * FROM `Tabelle` WEHRE `URL` = '".mysql_real_escape_string($domain.$_SERVER['PHP_SELF'])."'");
    if(
    $check == false) {
        
    header("Location: ".$domain); /* Auf die Startseite umleiten, da die Seite nicht in der Datenbank steht */
    } else {
    ?>
    <html>
    <!-- HTML-Code ausgeben -->
    ....
    ....
    ....
    ....
    </html>
    <?php
    }
    ?>
    Dann noch Apache mittels .htaccess beibringen Dateien mit der Endung .html durch den PHP Parser zu jagen:
    Code :
    1
    
    AddType aplication/x-httpd-php .html
    Die Geschichte ist aber entsprechen serverlastig..... da bei jeder Seite die aufgerufen wird, eine Datenbankabfrage stattfindet.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  6. #6
    Tomas1967 Tomas1967 ist offline Mitglied Bronze
    Registriert seit
    Jul 2005
    Beiträge
    44
    @campari

    Das geht nicht. Alles was kommt sind Fehlermeldungen.
     

  7. #7
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    Was kommen denn für Fehlermeldungen?
     

  8. #8
    Tomas1967 Tomas1967 ist offline Mitglied Bronze
    Registriert seit
    Jul 2005
    Beiträge
    44
    Ups, falsch eingefügt. Fehlermeldungen kommen nicht aber es wird auch nichts ausgegeben.
     

  9. #9
    Tomas1967 Tomas1967 ist offline Mitglied Bronze
    Registriert seit
    Jul 2005
    Beiträge
    44
    PHP-Code:
    $id htmlentities($_GET['id']); 
    if ((!empty(
    $id)) && (is_numeric($id))) { 

    $sql mysql_query("SELECT id FROM $tabelle WHERE id = '".mysql_real_escape_string($id)."'"); 
    if (
    mysql_num_rows($sql) == 1) { 
    $content.= "<meta name=\"robots\" content=\"index,follow\" />\n";
    } else { 
    $content.= "<meta name=\"robots\" content=\"NOINDEX, NOFOLLOW\" />\n";


    Nun wird mir diese Zeile aber in den Kategorien nicht mehr angezeigt.

    $content.= "<meta name=\"robots\" content=\"index,follow\" />\n";

    Gibt es da nicht eine Lösung, die nur was macht wenn id nicht vorhanden und sonst alles so belässt?
     

  10. #10
    Julian Maicher Julian Maicher ist offline Mitglied Smaragd
    Registriert seit
    Jan 2004
    Ort
    Paderborn
    Beiträge
    1.210
    PHP-Code:
    $id htmlentities($_GET['id']); 
    if ((!empty(
    $id)) && (is_numeric($id))) { 

       
    $sql mysql_query("SELECT id FROM $tabelle WHERE id = '".mysql_real_escape_string($id)."'"); 
       if (
    mysql_num_rows($sql) == 0) { 
           
    # ID nicht vorhanden ...
       
    }

     

  11. #11
    Tomas1967 Tomas1967 ist offline Mitglied Bronze
    Registriert seit
    Jul 2005
    Beiträge
    44
    Hmmmm, so meinte ich das nicht. Das ist echt schwer zu beschreiben. Sorry!

    Ich habe eine PHP-Datei in der sich alle Meta-Angaben befinden.

    Nun möchte ich die Zeile -

    $content.= "<meta name=\"robots\" content=\"index,follow\" />\n";

    nur auf -

    $content.= "<meta name=\"robots\" content=\"NOINDEX, NOFOLLOW\" />\n";



    ändern, wenn die ID in der Datenbank nicht mehr vorhanden ist. Es gibt Seiten mit den Einträgen die laufen über $id und Kategorien die laufen über $cid.

    Der Code funktioniert ja schon, nur wenn ich eine Kategorie öffne, dann wird keine der beiden Zeilen mehr angezeigt.

    Ist das überhaupt machbar? Nicht das ich euch Löcher in den Bauch frage *gg*
    Geändert von Tomas1967 (20.12.06 um 12:52 Uhr)
     

  12. #12
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    <meta>-Tags werden nie angezeigt..... ausser man lässt sich den Quelltext anzeigen.

    Ausserdem erwartest Du dass der Variablenname "id" an die URL angehängt wird:
    HTML-Code:
    http://www.meineDomain.de/eintrag-12.html?id
    Wenn dieser Variablenname fehlt, funktioniert Dein Script eh nicht.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  13. #13
    Tomas1967 Tomas1967 ist offline Mitglied Bronze
    Registriert seit
    Jul 2005
    Beiträge
    44
    Der Code funktioniert ja schon.

    PHP-Code:
    $id htmlentities($_GET['id']);  
    if ((!empty(
    $id)) && (is_numeric($id))) {  

    $sql mysql_query("SELECT id FROM $tabelle WHERE id = '".mysql_real_escape_string($id)."'");  
    if (
    mysql_num_rows($sql) == 1) {  
    $content.= "<meta name=\"robots\" content=\"index,follow\" />\n"
    } else {  
    $content.= "<meta name=\"robots\" content=\"NOINDEX, NOFOLLOW\" />\n"
    }  


    Aber nur auf den Seiten mit einer ID. Wenn ich auf einer Seite mit cid im Link wechsel, dann wird mir die Zeile (keine von beiden) in den Meta-Angaben nicht mehr angezeigt. Meine Idee war eigentlich ein NOINDEX, NOFOLLOW, wenn der Eintrag nicht mehr vorhanden ist, so dass die Sumas diese Seite wieder aus dem Index löschen.

    Irgendwie muss das doch funktionieren *heul* Noch jemand eine Idee?
    Geändert von Tomas1967 (04.02.07 um 13:12 Uhr)
     

Ähnliche Themen

  1. Prüfen, ob Eintrag vorhanden ist
    Von lisali im Forum PHP
    Antworten: 11
    Letzter Beitrag: 16.06.10, 14:30
  2. Antworten: 10
    Letzter Beitrag: 16.05.10, 19:12
  3. Prüfen ob Intervall von setInterval() noch vorhanden ist
    Von Veränderung im Forum Flash Plattform
    Antworten: 0
    Letzter Beitrag: 21.09.08, 01:07
  4. eintrag schon vorhanden
    Von wpb im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 28.01.06, 19:18
  5. Antworten: 7
    Letzter Beitrag: 19.05.05, 11:58