Button deaktviren nach abfrage??

slipknoter6

Mitglied
Hallo
Ich habe ein Formular wo ich halt abfragen will ob der eingtrage inhalt schon exestiert und wenn ja er selber oder ein andere es gepostet hat. Wenn ein andere es gepostett hat soll ein button deaktviert werden und wenn noch nix ist oder er selber ist solle s ganz normal eingetragen/updatet werden.

Habe mir das mal so gedacht nur ka wie ich das umsetzten soll. Hab das bischen probiert aber nur mit php. Weiß das es durch ajax oder JS geht.
Code:
$sql = 'SELECT link, userid FROM rotator_ctc WHERE link ='.$url;
     $row = mysqli_query($mysqli, $sql);
     if(mysql_num_rows($einlesen)==1) {
       $row2 = mysqli_fetch_assoc($row);
     if($_SESSION["user_id"] == $row2["userid"]) {
         button aktiv
        } else {
         button gesperrt
        }
     }//ja
     else { button aktiv ; }

kan mir da einer helfen?
 
Ich versuche es mal. Mit Ajax bist Du schon auf dem richtigen Weg. Wenn ich dich richtig verstehe, müsste es so gehen:
In deinem PHP-Skript programmiere eine geeignete Ausgabe, die angibt, ob der Button gesperrt werden soll, z. B. so:
PHP:
$sql = 'SELECT link, userid FROM rotator_ctc WHERE link ='.$url;
$row = mysqli_query($mysqli, $sql);
if(mysql_num_rows($einlesen)==1) {
     $row2 = mysqli_fetch_assoc($row);
     if($_SESSION["user_id"] == $row2["userid"]) {
         echo 'activate';
     } else {
         echo 'lock';
     }
} else {
    echo 'activate';
}
(Die Datenbankabfrage konnte ich nicht checken, weil mir die Kenntnisse fehlen)
Dieses Skript rufst Du dann über Ajax auf und sperrst/aktivierst den Button entspr. der Ausgabe:
Code:
// In dem folgenden Objekt die POST-Parameter vorbereiten, die das Skript bzw. die Datenbankabfrage benötigt:
var params = {param1: abc, param2: def};

$.ajax({
    url: "testentry.php",
    method: "POST",
    data: params,
    success: function(output) {
        if (output == "activate") {
            $("#dein-button").attr("disabled", false);
        } else {
            $("#dein-button").attr("disabled", true);
        }
    },
    error: function(/* Params entspr. Doku */) {
        // Hier ggf. die Parameter zu Diagnosezwecken auswerten
    }
});

Aus deinem Posting konnte ich leider nicht entnehmen, wodurch dieser Check angestoßen werden soll? Eine Eingabe in einen input-Element oder einer Textarea?
 
Zuletzt bearbeitet:
hmm okay.
ich habe das momentan so das wenn etwas gechange wird im input wird dort mit onchange= meine PHP funktion ausgeführt. Jetzt wei? ich aber immer noch nicht wie dieses Ajax jetzt dann mit ausführe

PHP:
 echo '<input onchange="'.rotator_link_check(htmlspecialchars($_POST["unternehmen"]), htmlspecialchars($_POST["ref"])).'" type="text" class="form-control" id="usr" name="ref" value="der link">';

wo und wie muss ich dann diese ajax funktion machen?
 
Wenn ich dich jetzt richtig verstehe, müsste das Ganze so aussehen:
Code:
<input onchange="checklink(this);" type="text" class="form-control" id="usr" name="ref" value="der link">
<script>
    function checklink(ele) {
        var params = {link: ele.value};
        $.ajax({
            url: "testentry.php",
            method: "POST",
            data: params,
            success: function(output) {
               if (output == "activate") {
                    $("#dein-button").attr("disabled", false);
               } else {
                    $("#dein-button").attr("disabled", true);
                }
            },
            error: function(/* Params entspr. Doku */) {
               // Hier ggf. die Parameter zu Diagnosezwecken auswerten
           }
        });
</script>
Ich habe es jetzt so verstanden, dass der Benutzer den Link in dem Input eingibt und dass dieser dann auch der Schlüssel in der Datenbankabfrage ist.
 
Zurück