+ Antworten
Seite 3 von 3 ErsteErste 1 2 3
Ergebnis 31 bis 42 von 42

Thema: PHP Probleme bei Seitenaufruf

  1. #31
    TP-Senior th2409 macht sich hier sehr viel Mühe Avatar von th2409
    Registriert seit
    Feb 2007
    Beiträge
    284
    Dein Javascript für die Löschabfrage (so es denn aufgerufen wird) macht bei positiver Beantwortung einen "Sprung" auf eine neue Seite. Du ersetzt die URL durch showKunden.php (was wohl das selbe Script ist, richtig?). Du übergibst in der URL Parameter wie action und kid. Diese übergebenen Parameter sind ausschließlich durch $_GET wieder abrufbar - und genau das tust Du nicht!

    Im Moment sieht es so aus, dass Du den (erstmaligen) Aufruf mit POST-Variablen versiehst, die hier auch richtig ausgelesen werden. Im zweiten Gang rufst Du die Seite erneut auf (infolge JS-Umleitung), und da übergibst Du GET-Variablen. Das von Dir erneut vorgenommene Auslesen der POST-Variablen "action" wird leer sein, ebenso "kid"! Also greift die ganze Script-Abarbeitung nicht mehr.
    Wenn Du wie zuletzt beschrieben das JS weg lässt, ist die Parameter-Übergabe und -Interpretation OK, da nur POST-Variablen übertragen und ausgewertet werden. Aber wenn Du das JS ausführst, änderst Du auf einmal die Parameterübergabe in GET, ohne darauf angemessen zu reagieren, indem Du nun die GET-Variablen ausliest. Das ist die Ursache für Dein Problem!

    Eigentlich ist es nicht übersichtlich, die unterschiedlichen Typen der Übergabe (GET und POST) zu mischen, auch wenn man es technisch natürlich hinbekommt.
    Thomas

  2. #32
    TP-Member Maps macht alles soweit korrekt Avatar von Maps
    Registriert seit
    Jul 2011
    Ort
    Rohrbach
    Beiträge
    69
    Zitat Zitat von th2409 Beitrag anzeigen
    Dein Javascript für die Löschabfrage (so es denn aufgerufen wird) macht bei positiver Beantwortung einen "Sprung" auf eine neue Seite. Du ersetzt die URL durch showKunden.php (was wohl das selbe Script ist, richtig?). Du übergibst in der URL Parameter wie action und kid. Diese übergebenen Parameter sind ausschließlich durch $_GET wieder abrufbar - und genau das tust Du nicht!

    Im Moment sieht es so aus, dass Du den (erstmaligen) Aufruf mit POST-Variablen versiehst, die hier auch richtig ausgelesen werden. Im zweiten Gang rufst Du die Seite erneut auf (infolge JS-Umleitung), und da übergibst Du GET-Variablen. Das von Dir erneut vorgenommene Auslesen der POST-Variablen "action" wird leer sein, ebenso "kid"! Also greift die ganze Script-Abarbeitung nicht mehr.
    Wenn Du wie zuletzt beschrieben das JS weg lässt, ist die Parameter-Übergabe und -Interpretation OK, da nur POST-Variablen übertragen und ausgewertet werden. Aber wenn Du das JS ausführst, änderst Du auf einmal die Parameterübergabe in GET, ohne darauf angemessen zu reagieren, indem Du nun die GET-Variablen ausliest. Das ist die Ursache für Dein Problem!

    Eigentlich ist es nicht übersichtlich, die unterschiedlichen Typen der Übergabe (GET und POST) zu mischen, auch wenn man es technisch natürlich hinbekommt.
    jetzt ist bei mir gar kein Wert mehr vorhanden, dabei habe ich nur alle Variablen von POST in GET geändert... achja und den löschbefehl führt er immer noch nicht aus ... und warum geht der eigentlich auf eine neue Seite mit dem "selbem" Quelltext. Ich bin gerade nur verwirrt. Bei genauer Erklärung würde ich mich freuen.

    MfG

    Maps
    Guten Tag Leute,

    Java ist leicht wenn man es versteht,
    genauso wie Mathematik

    (a+b)² = a²+2ab+b²
    (a-b)² = a²-2ab+b²
    (a+b)(a-b) = a²-b²

  3. #33
    TP-Senior th2409 macht sich hier sehr viel Mühe Avatar von th2409
    Registriert seit
    Feb 2007
    Beiträge
    284
    Übergibst Du jetzt beim ersten Aufruf des Scriptes die Parameter auch per URL?
    Thomas

  4. #34
    TP-Member Maps macht alles soweit korrekt Avatar von Maps
    Registriert seit
    Jul 2011
    Ort
    Rohrbach
    Beiträge
    69
    Zitat Zitat von th2409 Beitrag anzeigen
    Übergibst Du jetzt beim ersten Aufruf des Scriptes die Parameter auch per URL?
    ja und ich glaube daran liegt schon der Fehler
    Guten Tag Leute,

    Java ist leicht wenn man es versteht,
    genauso wie Mathematik

    (a+b)² = a²+2ab+b²
    (a-b)² = a²-2ab+b²
    (a+b)(a-b) = a²-b²

  5. #35
    TP-Senior th2409 macht sich hier sehr viel Mühe Avatar von th2409
    Registriert seit
    Feb 2007
    Beiträge
    284
    Du musst nicht alles mit GET machen, das ist auch nicht in jedem Falle klug. Einen Vorteil hat die GET-Geschichte: die Parameterübergabe kann sozusagen mit einem beliebeigen Link erfolgen, ohne zuvor etwas in Formulare einzugeben oder die Parameter auf andere Art zu übermitteln.

    Ich WÜRDE hier das auch nicht alles mit GET machen, nur den Teil der "finalen" Weiterleitung aus dem Javascript (generell wären mir zwar POST-Variablen lieber, aber das wird ohne Formular ziemlich aufwändig). Du musst nur den Überblick behalten, wann Du welche verwendest; ein einfaches Umschreiben von POST nach GET bringt gar nichts, da ja auch der gesamte Aufruf dieses Scriptes (also die Übergabe der Parameter) so eingestellt sein muss - und das sehen wir hier nicht, da wir ja immer nur stückchenweise Code bekommen.

    Der Teil mit dem Javascript, die Löschabfrage, beispielsweise so:
    Code:
    <body> 
    		<?php if ($_GET['function']=='delete')
    		{ ?>
    		<script language="JavaScript" type="text/javascript">
    		<!--
    		if (prompt("Wollen Sie den Kunden wirklich löschen?","")=="Löschen")
    		{
    			alert("Daten werden gelöscht");
    			window.location.href=("showKunden.php?action=deleteK&kid=<?php echo $_GET['kid']; ?>");
    		}
    		else 
    		{
    			alert("Daten wurden nicht gelöscht");
    			window.location.href=("showKunden.php");
    		}
    		//-->
    		</script>
    ***** weiter mit dem anderen Code************
    Beachten: ich bin jetzt davon ausgegangen, dass der Aufruf dieses Scriptes in der Form erfolgt: showKunden.php?funtion=delete&kid=1234. Dabei erfolgt ja die Übergabe der Parameter in der URL, also müssen sie mit $_GET[] wieder ausgelesen werden.
    Das JS baut eine neue URL zusammen: showKunden.php?action=deleteK&kid=1234. Wieder Parameter in der URL übergeben... und sie müssen auch wieder mit $_GET geholt werden. Dazu muss im eigentlichen, löschenden PHP-Teil das in etwa so aussehen:
    Code:
    if ($_GET['action'] == 'deleteK') 
    { 
      echo $_GET['kid']; 
    }
    wobei hier von mir nur mal die Ausgabe des Parameters kid zu Testzwecken eingetragen wurde. Soweit funktioniert dieser Code! Es soll ja helfen, ab und an mal komplett was umzuschmeißen...
    Am Ende aber bitte nachsehen, dass die HTML-Seite als solche valide ist (DOCTYPE, keine Ausgaben außerhalb des BODY...). Und die Prüfung des kid-Parameters nicht vergessen, bevor dieser irgendwie mit einer Datenbank-Operation verbunden wird (SQL-Injection).
    Thomas

  6. #36
    TP-Member Maps macht alles soweit korrekt Avatar von Maps
    Registriert seit
    Jul 2011
    Ort
    Rohrbach
    Beiträge
    69
    Zitat Zitat von th2409 Beitrag anzeigen
    Du musst nicht alles mit GET machen, das ist auch nicht in jedem Falle klug. Einen Vorteil hat die GET-Geschichte: die Parameterübergabe kann sozusagen mit einem beliebeigen Link erfolgen, ohne zuvor etwas in Formulare einzugeben oder die Parameter auf andere Art zu übermitteln.

    Ich WÜRDE hier das auch nicht alles mit GET machen, nur den Teil der "finalen" Weiterleitung aus dem Javascript (generell wären mir zwar POST-Variablen lieber, aber das wird ohne Formular ziemlich aufwändig). Du musst nur den Überblick behalten, wann Du welche verwendest; ein einfaches Umschreiben von POST nach GET bringt gar nichts, da ja auch der gesamte Aufruf dieses Scriptes (also die Übergabe der Parameter) so eingestellt sein muss - und das sehen wir hier nicht, da wir ja immer nur stückchenweise Code bekommen.

    Der Teil mit dem Javascript, die Löschabfrage, beispielsweise so:
    Code:
    <body> 
    		<?php if ($_GET['function']=='delete')
    		{ ?>
    		<script language="JavaScript" type="text/javascript">
    		<!--
    		if (prompt("Wollen Sie den Kunden wirklich löschen?","")=="Löschen")
    		{
    			alert("Daten werden gelöscht");
    			window.location.href=("showKunden.php?action=deleteK&kid=<?php echo $_GET['kid']; ?>");
    		}
    		else 
    		{
    			alert("Daten wurden nicht gelöscht");
    			window.location.href=("showKunden.php");
    		}
    		//-->
    		</script>
    ***** weiter mit dem anderen Code************
    Beachten: ich bin jetzt davon ausgegangen, dass der Aufruf dieses Scriptes in der Form erfolgt: showKunden.php?funtion=delete&kid=1234. Dabei erfolgt ja die Übergabe der Parameter in der URL, also müssen sie mit $_GET[] wieder ausgelesen werden.
    Das JS baut eine neue URL zusammen: showKunden.php?action=deleteK&kid=1234. Wieder Parameter in der URL übergeben... und sie müssen auch wieder mit $_GET geholt werden. Dazu muss im eigentlichen, löschenden PHP-Teil das in etwa so aussehen:
    Code:
    if ($_GET['action'] == 'deleteK') 
    { 
      echo $_GET['kid']; 
    }
    wobei hier von mir nur mal die Ausgabe des Parameters kid zu Testzwecken eingetragen wurde. Soweit funktioniert dieser Code! Es soll ja helfen, ab und an mal komplett was umzuschmeißen...
    Am Ende aber bitte nachsehen, dass die HTML-Seite als solche valide ist (DOCTYPE, keine Ausgaben außerhalb des BODY...). Und die Prüfung des kid-Parameters nicht vergessen, bevor dieser irgendwie mit einer Datenbank-Operation verbunden wird (SQL-Injection).
    wass muss ich dann groß ändern? nur das ich überprüfe wegen der action? die ich dann beim aufrufen so festlege?
    Guten Tag Leute,

    Java ist leicht wenn man es versteht,
    genauso wie Mathematik

    (a+b)² = a²+2ab+b²
    (a-b)² = a²-2ab+b²
    (a+b)(a-b) = a²-b²

  7. #37
    TP-Senior th2409 macht sich hier sehr viel Mühe Avatar von th2409
    Registriert seit
    Feb 2007
    Beiträge
    284
    Wie stellst Du Dir eigentlich unsere Hilfe vor?
    Du hast da was Fertiges, das nicht (richtig) läuft. Und wir sollen nach Möglichkeit nichts ändern?

    Im Grunde versuche ich Dir Anregungen zu geben, wo etwas zu prüfen und zu beachten ist. Ein fertiges Script kann man zwar auch basteln, aber ich hätte womöglich eine ganz andere Herangehensweise gewählt und das nicht alles in ein Script verpasst (aber da gibt es viele richtige Ansätze, und meine Ideen sind gewiss nicht allgemeingültiger Nabel der Welt).

    Versuch doch mal, schrittweise die Abfolge in Deinem Script zu klären, die Parameter zu übergeben, diese testweise auf dem Bildschirm ausgeben zu lassen. Dann kommst Du auch hinter das Prinzip. Mit solchem Kram haben wir alle mal angefangen.

    Aber ich weiß jetzt echt nicht, was ich weiter schreiben soll.
    Thomas

  8. #38
    TP-Member Maps macht alles soweit korrekt Avatar von Maps
    Registriert seit
    Jul 2011
    Ort
    Rohrbach
    Beiträge
    69
    Zitat Zitat von th2409 Beitrag anzeigen
    Wie stellst Du Dir eigentlich unsere Hilfe vor?
    Du hast da was Fertiges, das nicht (richtig) läuft. Und wir sollen nach Möglichkeit nichts ändern?

    Im Grunde versuche ich Dir Anregungen zu geben, wo etwas zu prüfen und zu beachten ist. Ein fertiges Script kann man zwar auch basteln, aber ich hätte womöglich eine ganz andere Herangehensweise gewählt und das nicht alles in ein Script verpasst (aber da gibt es viele richtige Ansätze, und meine Ideen sind gewiss nicht allgemeingültiger Nabel der Welt).

    Versuch doch mal, schrittweise die Abfolge in Deinem Script zu klären, die Parameter zu übergeben, diese testweise auf dem Bildschirm ausgeben zu lassen. Dann kommst Du auch hinter das Prinzip. Mit solchem Kram haben wir alle mal angefangen.

    Aber ich weiß jetzt echt nicht, was ich weiter schreiben soll.
    Ich will ja kein fertiges Script aber ich wüsste gerne was ich falsch mache in dem ganzen teil weil es ja nicht funktioniert probiere ich etwas anderes aus kommt wieder völlige fehlermeldung wo mich noch weniger nach vorne treibt.
    Guten Tag Leute,

    Java ist leicht wenn man es versteht,
    genauso wie Mathematik

    (a+b)² = a²+2ab+b²
    (a-b)² = a²-2ab+b²
    (a+b)(a-b) = a²-b²

  9. #39
    TP-Senior th2409 macht sich hier sehr viel Mühe Avatar von th2409
    Registriert seit
    Feb 2007
    Beiträge
    284
    Siehe #31. Deine Parameterübergabe war durcheinander und inkonsequent.
    Ich habe selbige nur noch mal richtig hingeschrieben: im JS URL-Parameter angehangen, und als $_GET ausgelesen.
    Thomas

  10. #40
    TP-Member Maps macht alles soweit korrekt Avatar von Maps
    Registriert seit
    Jul 2011
    Ort
    Rohrbach
    Beiträge
    69
    Zitat Zitat von th2409 Beitrag anzeigen
    Siehe #31. Deine Parameterübergabe war durcheinander und inkonsequent.
    Ich habe selbige nur noch mal richtig hingeschrieben: im JS URL-Parameter angehangen, und als $_GET ausgelesen.
    Ich habe es mal versucht mit dem GET statt POST und ich habe jetzt eine endlos schleife des javascripts
    Guten Tag Leute,

    Java ist leicht wenn man es versteht,
    genauso wie Mathematik

    (a+b)² = a²+2ab+b²
    (a-b)² = a²-2ab+b²
    (a+b)(a-b) = a²-b²

  11. #41
    TP-Member Maps macht alles soweit korrekt Avatar von Maps
    Registriert seit
    Jul 2011
    Ort
    Rohrbach
    Beiträge
    69
    Also ich habe es jetzt wieder zurück gemacht und es ist halt wie vorher ich klicke auf löschen es öffnet sich neuer button dann klicke ich auf den... gebe Löschen ein und es passiert nichts aber die Meldung "Daten werden gelöscht" erscheint. Somit kann ja nur der Aufruf wie es ja klar ist der deleteK function falsch sein.
    Guten Tag Leute,

    Java ist leicht wenn man es versteht,
    genauso wie Mathematik

    (a+b)² = a²+2ab+b²
    (a-b)² = a²-2ab+b²
    (a+b)(a-b) = a²-b²

  12. #42
    TP-Member Maps macht alles soweit korrekt Avatar von Maps
    Registriert seit
    Jul 2011
    Ort
    Rohrbach
    Beiträge
    69

    Thumbs up

    Durch maxi89, habe ich es endlich fertig mit der Löschabfrage PHP ( HTML(Javascript))) Code ist hier:

    PHP-Code:
    <?php
        
    // ### Vor jeder Ausgabe einbinden, darin wird eine Session gestartet und das funktioniert nur, wenn vorher keine Ausgabe gesendet wurde!
        
    require_once('./inc_functions.php');
        
        
        
    $kid $_POST['KId'];
        
    $firma $_POST['Firma'];
        
    $kundennummer $_POST['Kundennummer'];
        
    $anrede $_POST['Anrede'];
        
    $name $_POST['Name'];
        
    $vorname $_POST['Vorname'];
        
    $zusatz $_POST['Zusatz'];
        
    $telefonnummer $_POST['Telefonnummer'];
        
    $faxnummer $_POST['Faxnummer'];
        
    $mobil $_POST['Mobil'];
        
    $email $_POST['eMail'];
        
    $internet $_POST['Internet'];
        
    $frei1 $_POST['Frei1'];
        
    $strasse $_POST['Strasse'];
        
    $hausnummer $_POST['Hausnummer'];
        
    $plz $_POST['Plz'];    
        
    $ort $_POST['Ort'];
        
        
        
    // ### HTML-Gerüst beginnen. Wird benötigt, weil JavaScript-Funktionen nur aufgerufen werden können, wenn diese bereits zu einem früheren Zeitpunkt
        // ### im Quellcode definiert wurden.
    ?>
    <html>
        <head>
            <title>Kundenliste</title>
            <link rel="stylesheet" type="text/css" href="./css/global.css">
            <script language="JavaScript" type="text/javascript">
            <!--
            var d;
                    
                    /* 
                     * ### Funktion test() erwartet jetzt den Parameter kid, der die aktuelle Kunden-ID enthält.
                     * ### Diese wird der darin generierten URL angehangen.
                     * */
            function test(kid){
            if(prompt("Wollen Sie den Kunden wirklich Löschen?","")=="Löschen")
                    {
                    alert("Daten werden gelöscht");
                                    // ### Die ganzen %24... u.s.w entfernt und durch die Originalen Zeichen ersetzt.
                    window.location.href=('showKunden.php?funktion=delete&kid=' + kid);
                    }
            else 
                    {
                    alert("Daten wurden nicht gelöscht");};
            }
            //-->
            </script>
        </head>
        <body>
    <?php
            
            
    //print_r($_POST);


                    // ### Wird per GET-Parameter die Löschfunktion angetriggert und zeitgleich eine valide Kunden-ID übergeben,
                    // ### wird die Löschfunktion tatsächlich aufgerufen.
                    
    if( strtolower(trim($_GET['funktion'])) == 'delete' && intval($_GET['kid']) > )
                    {
                        
    deleteK($_GET['kid']);
                        echo 
    '<h3>Der Kunde wurde gelöscht</h3>';
                        echo 
    '<a href="showKunden.php">Zurück</a>';
                        echo 
    '</body></html>';
                        exit;
                    }


            if (
    $_POST['action'] == 'create')
            {
                
    insertKunde($kundennummer,
                            
    $firma,
                            
    $anrede,
                            
    $name,
                            
    $vorname,
                            
    $zusatz,
                            
    $strasse,
                            
    $hausnummer,
                            
    $plz,
                            
    $ort,
                            
    $telefonnummer,
                            
    $faxnummer
                            
    $mobil,
                            
    $email,
                            
    $internet,
                            
    $frei1);
            }
            else if (
    $_POST['action'] == 'change')
            {
                
    updateKunde($kid,
                            
    $kundennummer,
                            
    $firma,
                            
    $anrede,
                            
    $name,
                            
    $vorname,
                            
    $zusatz,
                            
    $strasse,
                            
    $hausnummer,
                            
    $plz,
                            
    $ort,
                            
    $telefonnummer,
                            
    $faxnummer,
                            
    $mobil,
                            
    $email,
                            
    $internet,
                            
    $frei1);
            }
            else if (
    $_POST['action'] == 'delete'
                    {
                        echo 
    "<input type='hidden' $cid=name name='$kid' value='speicher'>";
                        echo 
    "<input type='button'  value='delete' onClick='test($kid)'>";
            }
            
            
    $kid2 $kid;
            function 
    deleteK ($kid)
            {
                        
    deleteKunde($kid);
            }     
    ?>

            <div id="navigation">
                <?php
                    
    include("navigation.php");
                
    ?>
            </div>
            
            <div id="content">
            <br>
            <a href="./createKunde.php">Neuen Kunden anlegen</a><br><br>
                <?php            
                    show
    (null'kunden');
                
    ?>
                <br>
                <a href="./createKunde.php">Neuen Kunden anlegen</a>
            </div>
        </body>
    </html>
    Geändert von Maps (03.08.2011 um 13:20 Uhr)
    Guten Tag Leute,

    Java ist leicht wenn man es versteht,
    genauso wie Mathematik

    (a+b)² = a²+2ab+b²
    (a-b)² = a²-2ab+b²
    (a+b)(a-b) = a²-b²

+ Antworten
Seite 3 von 3 ErsteErste 1 2 3

Ähnliche Themen

  1. Pop Up beim Seitenaufruf
    Von dallasstar im Forum HTML & CSS
    Antworten: 5
    Letzter Beitrag: 05.09.2005, 13:17
  2. Fehler bei Seitenaufruf
    Von bordesel im Forum Betriebssysteme
    Antworten: 3
    Letzter Beitrag: 12.02.2005, 02:47
  3. Seitenaufruf per php
    Von Billahonk im Forum Traum-Dynamik
    Antworten: 4
    Letzter Beitrag: 23.08.2004, 17:13
  4. DW Seitenaufruf
    Von karlinchen im Forum Dreamweaver & andere Webeditoren
    Antworten: 2
    Letzter Beitrag: 05.09.2003, 10:49
  5. Mac IE Absturz bei Seitenaufruf
    Von nicnac1 im Forum HTML & CSS
    Antworten: 6
    Letzter Beitrag: 11.08.2003, 19:16

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51