HTML toastr ErrorMessage mit AJAX/JSON

cardinal

Lt. Junior Grade
Registriert
Mai 2010
Beiträge
467
Hallo Community,

hier mein Problem:

Ich stelle via PHP eine SELECT Anfrage an eine Datenbank die dann eine Eingabe mit bspw. Namen in der DB vergleicht und mir dann den übereinstimmenden ausgibt. Dieser Name wird dann mit einem INSERT in eine andere DB eingefügt. Alles gut soweit :)
Gebe ich jedoch irgendetwas anderes ein was nicht in der DB enthalten ist, wird ein leeres Feld in die andere DB eingefügt. Das soll so natürlich nicht möglich sein, also hatte ich vor eine Abfrage einzufügen die überprüft ob das Ergebnis ein leeres Feld ist und eine Fehlermeldung ausgibt. Dies wollte ich mit toastr machen. Da dies alles in einem PHP-File geschieht, wollte ich die Nachricht per JSON übergeben und in meinem HTML-File mit einer Funktion ausführen (außer es ist irgendwie möglich dies alles mit PHP zu bewerkstelligen)

Die Abfrage sieht wie folgt aus:
PHP:
if(mysqli_fetch_assoc($ergebnis) == ""){
     $arr = array('message' => 'Falsche Eingabe', 'title' => 'Warnung');
     echo json_encode($arr);
}
else{
     //... Do something ...
}

Einen Lösungsansatz habe ich mit Google schon gefunden. Klick mich
Jedoch bin ich in PHP/HTML noch nicht so bewandert und weiß nicht genau wie ich alles zum laufen kriege (verzeiht mir deswegen bitte Anfängerfehler :D) Die Funktion muss ja theoretisch keine Daten übergeben sondern nur per JSON empfangen und die Fehlermeldung ausgeben, aber wie genau soll das jetzt in Code aussehen?

Vielen Dank für jegliche Hilfe,
Lui
 
Mach dich mit Ajax vertraut.
Mit dem JS Framework jQuery ist sehr einfach ein Ajax Request abzusenden:
Code:
$.ajax({
 type: 'POST',
 url: 'www.exaple.com',
 data: 'TEST',
 dataType: 'json'
});

Doku: https://api.jquery.com/jQuery.ajax/

Als Antwort bekommst du ein JSON.
In deinem Fall ein {message:'Falsche Eingabe', title:'Warnung'}
 
Ich hab mich da jetzt mal etwas ran gegeben und in gewissem Maße habe ich es auch verstanden
Der jetzige Aufbau ist nur zu Testzwecken, ob was ankommt etc.

Mein Code bisher:
HTML:
<script>
     $.ajax({
          url: 'message.php',
          type: 'POST',
          data: 'TEST',
          dataType: 'JSON',
          success: function(data) {
               toastr.options = {
                       "closeButton": true,
                       "debug": false,
                       "positionClass": "toast-top-full-width",
                       "onclick": null,
                       "showDuration": "20000",
                       "hideDuration": "20000",
                       "timeOut": "20000",
                       "extendedTimeOut": "20000",
                       "showEasing": "swing",
                       "hideEasing": "linear",
                       "showMethod": "fadeIn",
                       "hideMethod": "fadeOut"
                }
               toastr.error(data.message, data.title);
          }
     });
</script>

message.php:
PHP:
<?php

header('Content-type: text/javascript');

    $arr = array(
        'message'  => 'Falsche Eingabe',
        'title'        => 'Warnung'
    );

    echo json_encode($arr);
Funktioniert so fast wie gewollt. Die Fehlermeldung wird schonmal ausgegeben! Ich muss jetzt noch alles mit der Abfrage kombinieren.

EDIT:
Funktioniert einwandfrei! Danke für die Hilfe :)
 
Zuletzt bearbeitet:
Zurück
Oben