Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
  Druckansicht

  Php Input-Button mit echo reagiert nicht
Autor Nachricht
    BeitragVerfasst: 03.06.2007 23:15 
aktives Mitglied
aktives Mitglied
Benutzeravatar
Offline

Beiträge: 695
Registriert: 12.07.2004 21:23
Wohnort: FRIESLAND
Hallo Ihr Profi's,

ich habe folgendes Problem :

Ganz unten in dem abgedruckten Code-Beispiel habe ich per echo zwei Submit-Buttons eingefügt. Ich bin durch den gesamten Quellcode so vorgegangen und in den anderen Formularen klappt die Technik auch.

Das Problem äußert sich so, dass die Buttons im Firefox und im Safari zwar angezeigt werden, aber keinerlei Reaktion zeigen. Normalerweise erscheint in den meisten Browsern ja ein kleiner Rahmen um den Button, wenn mit der Maus drübergefahren wird. hier ist nur die blanke Anzeige.

Der Code funktioniert allerdings einwandfrei im Internet-Explorer (getestet : Version 6) und im Opera (Ver 9.2).

Ich wäre für Hilfe wirklich dankbar, der Abgabetermin pressiert ...

Code:
   if ($_GET["Submit"] == "Einfügen") {
      $insertDatum = $_REQUEST["insertJahr"]."-".$_REQUEST["insertMonat"]."-".$_REQUEST["insertTag"];
      
      if ($insertDatum && $_GET["ort"] && $_GET["club"]) {
         $sqlPut = "INSERT INTO $tabelle (id,datum,ort,club,url,aktuell,visible)
            VALUES ('NULL', '".$insertDatum."', '".$_GET[ort]."', '".$_GET[club]."', '".$_GET[url]."', '".$_GET[aktuell]."', '".$_GET[visible]."')";
         mysql_query($sqlPut,$link);
      echo "<div id='insertTable'>Letzte Aktion : $sqlPut"."</br>";
      echo "</div>";
      }
      
      else {
         echo "<div id='insertTable'>";
            echo "Es müssen auf jeden Fall das Datum, der Ort und ein Club eingegeben werden!<br />";
            echo "- Keine Änderung übernommen -";
         echo "</div>";
      }
   }
   
// ########################### BEARBEITEN WURDE BESTÄTIGT ################################################################
   
   if ($_REQUEST["Submit"] == "Annehmen") {
      echo "<div id=\"insertTable\">";
         if ($_REQUEST["datumNeu"]) {
            $update = "UPDATE ".$tabelle." SET datum = '".$_REQUEST["datumNeu"]."' WHERE id='".$_REQUEST["id"]."'";
            echo "Letzte Aktion : ".$update."<br />";
            mysql_query($update, $link);
         }
         
         if ($_REQUEST["ortNeu"]) {
            $update = "UPDATE ".$tabelle." SET ort = '".$_REQUEST["ortNeu"]."' WHERE id='".$_REQUEST["id"]."'";
            echo "Letzte Aktion : ".$update."<br />";
            mysql_query($update, $link);
         }
         
         if ($_REQUEST["clubNeu"]) {
            $update = "UPDATE ".$tabelle." SET club='".$_REQUEST["clubNeu"]."' WHERE id='".$_REQUEST["id"]."'";
            echo "Letzte Aktion : ".$update."<br />";
            mysql_query($update, $link);
         }
         
         if ($_REQUEST["urlNeu"]) {
            $update = "UPDATE ".$tabelle." SET url='".$_REQUEST["urlNeu"]."' WHERE id='".$_REQUEST["id"]."'";
            echo "Letzte Aktion : ".$update."<br />";
            mysql_query($update, $link);
         }
         
         if ($_REQUEST["aktuellNeu"]) {
            $update = "UPDATE ".$tabelle." SET aktuell='".$_REQUEST["aktuellNeu"]."' WHERE id='".$_REQUEST["id"]."'";
            echo "Letzte Aktion : ".$update."<br />";
            mysql_query($update, $link);
         }
         
         echo "</div>";
      
   }
   
   if ($_POST["Submit"] == "Apply") {
         
         $sql = editiere();
         $id = $_REQUEST["id"];
         $changeDone = $sql["change"];
         
         if ($changeDone == 0) {
                  echo "<div id=\"insertTable\">";
                  echo "Es wurden keine Änderungen vorgenommen.";
                  echo "</div>";
            }
         
         if ($changeDone == 1) {
         
         echo "<div id=\"insertTable\">";
         echo "<form method=\"get\" action=\"anzeigen.php\" >";
         echo "<table>";
         echo "<tr><th>Feld</th><th>Alter Satz</th><th>Neuer Satz</th>";
         if ($sql["datum"]) {
            echo "<tr>";
            $neuDatum = $sql["datum"];
            echo "<td>Datum</td>"."<td>".newDate($_REQUEST["datum_old"])."</td><td>".newDate($neuDatum)."</td>";
            echo "</tr>";
            $datumNeu = $sql["datum"];
            echo "<input type=\"hidden\" name=\"datumNeu\" value=\"$datumNeu\" />";
         }
         
         if ($sql["ort"]) {
            echo "<tr>";
            echo "<td>Ort</td>"."<td>".$_REQUEST["ort_old"]."</td><td>".$_REQUEST["ort"]."</td>";
            echo "</tr>";
            $ort = $sql["ort"];
            echo "<input type=\"hidden\" name=\"ortNeu\" value=\"$ort\" />";
         }
         
         if ($sql["club"]) {
            echo "<tr>";
            echo "<td>Club</td>"."<td>".$_REQUEST["club_old"]."</td><td>".$_REQUEST["club"]."</td>";
            echo "</tr>";
            $clubNeu = $sql["club"];
            echo "<input type=\"hidden\" name=\"clubNeu\" value=\"$clubNeu\" />";
         }
         
         if ($sql["url"]) {
            echo "<tr>";
            echo "<td>URL</td>"."<td>".$_REQUEST["url_old"]."</td><td>".$_REQUEST["url"]."</td>";
            echo "</tr>";
            $urlNeu = $sql["url"];
            echo "<input type=\"hidden\" name=\"urlNeu\" value=\"$urlNeu\" />";
         }
      
         if ($sql["aktuell"]) {
            echo "<tr>";
            echo "<td>Aktuell</td>"."<td>".$_REQUEST["aktuell_old"]."</td><td>".$_REQUEST["aktuell"]."</td>";
            echo "</tr>";
            $akt = $_REQUEST["aktuell"];
            echo "<input type=\"hidden\" name=\"aktuellNeu\" value=\"$akt\" />";
         }
         
         echo "</table>";
         echo "<input type=\"hidden\" name=\"id\" value=\"$id\" />";
         echo "<input type=\"submit\" name=\"Submit\" value=\"Annehmen\" />";
         echo "<input type=\"submit\" name=\"Submit\" value=\"Abbrechen\" />";
            
      echo "</form>";
      echo "</div>";
         } // endif         
   }


Nach oben
 Profil E-Mail senden  
 

  
    BeitragVerfasst: 03.06.2007 23:18 
Moderator
Moderator
Benutzeravatar
Offline

Beiträge: 736
Registriert: 12.06.2000 01:01
Wohnort: Pullach, Bayern
Das klingt eher nach einem HTML-Problem. Poste doch mal den HTML-Code, da kann man den Fehler leichter finden.

________________________
Intelligenz ist die Fähigkeit, Arbeiten durch Nachdenken zu erledigen oder die fehlende Notwendigkeit bestimmter Arbeiten zu erkennen. Intelligente Menschen gelten daher oft als faul. (aus Kamelopedia, der freien Kamel-Enzyklopädie)


Nach oben
 Profil  
 

  
    BeitragVerfasst: 04.06.2007 13:46 
aktives Mitglied
aktives Mitglied
Benutzeravatar
Offline

Beiträge: 695
Registriert: 12.07.2004 21:23
Wohnort: FRIESLAND
Ich habe jetzt mal ein Szenario durchgespielt und mir im Firefox den Quelltext anzeigen lassen. Der unten abgedruckte Code wird in komischerweise komplett in einer Zeile dargestellt. Man beachte das 2. Tag (br). Der Browser interpretiert das garnicht als Zeilenwechsel...


Code:
<div class="insertTable" ><br /><form method="get" action="anzeigen.php" ><table><tr><th>Feld</th><th>Alter Satz</th><th>Neuer Satz</th></tr><tr><td>Datum</td><td>20.12.2007</td><td>20.10.2007</td></tr></table><input type="hidden" name="datumNeu" value="2007-10-20" /><input type="hidden" name="id" value="94" /><input type="submit" name="Submit" value="Annehmen" /><input type="submit" name="Submit" value="Abbrechen" /></form></div>


Das Formular sieht so aus :


Bild


Die Buttons sind da, reagieren im Firefox und im Safari aber überhaupt nicht. Das ist genauso als klickt man auf einen normalen Text.


Nach oben
 Profil E-Mail senden  
 

  
    BeitragVerfasst: 04.06.2007 14:48 
Moderator
Moderator
Benutzeravatar
Offline

Beiträge: 736
Registriert: 12.06.2000 01:01
Wohnort: Pullach, Bayern
Natürlich wird alles in einer Zeile dargestellt, du hast ja keinen einzigen Zeilensprung drinn. Einen Zeilensprung machst du in PHP mit "\n". Wenn du öfters vor hast die Ausgabe deines Scripts anzuschauen (solltest du) kannst du bei jedem echo ein \n ans Ende setzten.

Zu deinem Problem:
Kenn mich nicht genug damit aus um einen Fehler zu sehen, aber zwei Sachen fallen mir auf:
Zum einen hast du zwei inputs mit gleichem Namen, weis nicht ob das OK ist.
Zum anderen schließt du die inputs mit \ ab. Sollte man meines Wissens machen damit es XML-Konform ist. Wenn du dir aber mal schnell den Quelltext dieser Seite anschaust siehst du dass das phpBB das nicht macht. Also versuch mal einfach den \ weg zu lassen.

________________________
Intelligenz ist die Fähigkeit, Arbeiten durch Nachdenken zu erledigen oder die fehlende Notwendigkeit bestimmter Arbeiten zu erkennen. Intelligente Menschen gelten daher oft als faul. (aus Kamelopedia, der freien Kamel-Enzyklopädie)


Nach oben
 Profil  
 

  
    BeitragVerfasst: 04.06.2007 19:50 
aktives Mitglied
aktives Mitglied
Benutzeravatar
Offline

Beiträge: 695
Registriert: 12.07.2004 21:23
Wohnort: FRIESLAND
Hab die slashes weggelassen. Die Inputs haben nun unterschiedliche Namen. Funktioniert leider immer noch nicht.

Die Inputs habe ich nun so abgeschlossen <input ...></input>

Ich habe einmal das div-Tag rausgelassen, dann funktioniert das Formular, allerdings stehts dann natürlich an der falschne Stelle.


Nach oben
 Profil E-Mail senden  
 

  
    BeitragVerfasst: 04.06.2007 20:56 
aktives Mitglied
aktives Mitglied
Benutzeravatar
Offline

Beiträge: 695
Registriert: 12.07.2004 21:23
Wohnort: FRIESLAND
So, jetzt läufts. Danke erstmal an USSEraser für die freundliche Unterstützung und für Deine Mühe!!!

Folgendes hab ich gemacht :

1. Alle HTML-Tag's in echo-Anweisungen haben kein ' mehr sondern ein \", das nennt man glaube ich maskieren.

2. Mit dem Firebug habe ich festgestellt, dass ein Element gestört hat, und zwar war das ein div, welches am Code-Ende als HTML-Code programmiert wurde :

<?php
.......
?>
<div class="insertTable">
</div>
<?php
....
?>

Als ich das div in einen php-Block aufgenommen habe, lief's plötzlich...

Außerdem war hilfreich :
Im Browser der Seite den Quelltext anzeigen lassen und mit dem Validator von www.w3c.org diesen noch einmal prüfen zu lassen. Dort sind noch nicht unerhebliche Kleinigkeiten aufgefallen, die der eine Browser toleriert, der andere nicht.


Nach oben
 Profil E-Mail senden  
 

Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


  Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
RSS-Feed
Impressum und Kontakt
Style created by phpBB3 styles , ziola alveo akuna
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Optimized by SEO phpBB
Deutsche Übersetzung durch phpBB.de