This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Javascript POST an PHP (Anfänger)
#11
(18.05.2022, 12:25)admin schrieb: Funktioniert jetzt alles?
Das clear: 22 hatte ich da rein geschrieben, damit die Variable clear nicht leer ist beim Testen


soweit läuft der "post" befehl jetzt ! danke

es gib zwar noch ein problem im php script, aber sonst läuft es.

der letzte teil im script, wird nicht ausgeführt ???? der rest geht!
header ("location: monitorOESoft.php");	


  if(isset($_POST['test'])) { 
   $id = $_POST['test'];
    if ($id > 0)
     {	
	  $query = ("DELETE FROM TelegramStorage WHERE id=$id LIMIT 1");
	  $link->query($query);
	   }		  
	header ("location: monitorOESoft.php");	
  }	 
Als Lösung markieren Zitieren
#12
Der letzte Teil geht sicherlich , doch der ist ja nur im Ajax request und bekommst du gar nicht mit wenn du nicht in der Konsole schaust.
Wenn du nach den löschen umleiten willst musst du das schon anders machen.
Zb beim PHP Script so
  if(isset($_POST['test'])) { 
   $id = $_POST['test'];
    if ($id > 0)
     {    
      $query = ("DELETE FROM TelegramStorage WHERE id=$id LIMIT 1");
      $link->query($query);
       }          
 echo 1; 
  } 
und das js dazu

function myFunction_loeschen() {
    
   $.ajax({
        type: "POST",
        url: "monitorOESoft.php",
        data: {test},
        cache: false,

        success: function(response){
        if(response==1){
       location.href='monitorOESoft.php';
        }
}
    });
    
    
  }

so ungefähr könnte man es machen.
Habe aber schon gesagt das ich deine Seite mal kommplett sehen muss, weil denke das du vieles ganz anders und einfacher haben könntest
Als Lösung markieren Zitieren
#13
Moin Kinners,



ich habe ein ähnliches Problem und wenig Erfahrung mit js. Ich möchte den Wert eines input type=numbers übergeben und dafür verwende folgenden Code:



function ingredsCalc(){

    var persons = $('#Persons').val();

    $.post("recipe_view.php", { Persons: persons});

}




Ich kann in der Konsole einen POST sehen aber die php $_POST variable bleibt leer(NULL). Was fehlt denn im js Code noch?




Vielen Dank!
Als Lösung markieren Zitieren
#14
Versuche es doch mal so
function ingredsCalc(){
    var persons = $('#Persons').val();
    $.ajax({
        type: "POST",
        url: "recipe_view.php",
        data: {Persons: persons},
        cache: false,
        success: function(response){

        }
    });
}

Wenn es nicht hilfe musst du mal den ganzen Code zeigen
Als Lösung markieren Zitieren
#15
Funktioniert leider auch nicht. Hier mal etwas mehr Code:

<div class="form-block w-form">
  <input type="number" onchange="ingredsCalc()" class="text-field w-input" max="25" maxlength="256" name="Persons" step="1" value="<?php if(isset($_POST['Persons'])){echo $_POST['Persons'];}else{echo $load_recipe['persons'];}?>" min="1" id="Persons">
  <input type="text" id="recipe_public" name="recipe_public" value="<?php echo $recipe_id?>" hidden>
    <div class="block-title">Persons:</div>
    <script>
    function ingredsCalc(){
      var persons = $('#Persons').val();
      $.ajax({
         type: "POST",
         url: "recipe_view.php",
         data: {Persons: persons},
         cache: false,
         success: function(response){

         }
      });
    }
    </script>
    </div>
    <div class="block-title">Ingredients:</div>
    <div class="ingredients-text-block w-richtext">
    <?php echo var_dump($_POST['Persons']); ?>
  </div>
</div>
Einen Post kann ich in der Konsole sehen, aber die Variable bleibt leer.
Schwarzer Humor ist wie essen, hat nicht jeder.
Als Lösung markieren Zitieren
#16
Was meinst du mit "variable bleibt Leer " ?
Soll hier
    <div class="ingredients-text-block w-richtext">
    <?php echo var_dump($_POST['Persons']); ?>
  </div>
der gesendete Code drinn stehen ( anzahl der Personen )
Was für ein code steht in der recipe_view.php Daztei ?
Oder ist das ein Affenformular , also eine Datei die sich selbst aufruft ?
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Als Lösung markieren Zitieren
#17
Moin,

jupp, Post wird an die gleiche Seite geschickt. Soll dann in dem input type numbers stehen und wird noch weiter verarbeitet.
Schwarzer Humor ist wie essen, hat nicht jeder.
Als Lösung markieren Zitieren
#18
Moin,

hier mein Beitrag dazu:
JavaScript:
'use strict';
document.addEventListener('DOMContentLoaded', () => {
    if(confirm('Möchten Sie unwiederuflich diesen Datensatz löschen?')==true) {
        let xhr = new XMLHttpRequest();
        let myFormData = FormData();
        myFormData('modus', 'removeData');
        xhr.open('POST', 'monitorOESoft.php');
        xhr.addEventListener('readystatechange', () => {
            if(xhr.status==200&&xhr.readyState==4) {
                let myStatus = xhr.responseText;
                if(myStatus=='success') {
                    alert('Daten wurden erfolgreich gelöscht!');
                }
            }
        });
    }
});
und PHP:
if(isset($_POST['modus']) && $_POST['modus']!='') {
    $modus = htmlspecialchars($_POST['modus'], ENT_QUOTES);
    if($modus=='removeData') {
        // Code zum Daten enfernen
        if($success) {
            echo 'success';
            exit;
        }
    }
}

VG

rzscout
Als Lösung markieren Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste