SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.07.2014, 19:23:31
ega364 ega364 ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 30
Beiträge: 4
Probleme beim einbinden einer .php Datei

Hallo geschätztes Forum!
Ich bin neu hier und muss gleich mit einer für mich kniffligen Aufgabe hereinplatzen!

Ich habe eine Seite erstellt, auf welcher sich im wesentlichen zwei DIV-Container befinden.
Im einen (links) befinden sich Buttons, die, nachdem auf sie geklickt wurde, jeweils eine bestimmte php Seite in den anderen DIV-Container (rechts) laden sollen.
Das funktioniert soweit auch ganz gut.

Mein Problem besteht jedoch darin, dass sich auf den includierten php Formularen ein Submitputton befindet, der mit
PHP-Code:
if(isset($_POST['submit'])){...} 
abgeprüft wird.
Allerdings wird der Button, der die php Seite in den DIV-Container lädt ebenfalls auf diese Weise abgeprüft. Drückt man den Button des inkludierten Files, so geht das "isset" des zuvor gedrückten Buttons verloren und der Code wird nicht mehr weiter ausgeführt.

Hat jemand eine Idee wie man das ganze anders lösen könnte?
Möglicherweise mit GET?
Mit Zitat antworten
  #2  
Alt 18.07.2014, 00:47:00
doschni doschni ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 40
Beiträge: 14
AW: Probleme beim einbinden einer .php Datei

Hallo ega364

Willkommen, bin selber auch neu hier.

Mehr Code Deinerseits wäre natürlich hilfreich.

So wie ich das verstehe, haben die beiden verschiedenen Submit-Buttons nichts miteinander zu tun. Dann vergib ihnen doch auch eigene Namen.

Im Div1
HTML-Code:
<input type="submit" name="test1" value="Abschicken">
PHP-Code:
if(isset($_POST['test1'])){...} 
Im Div 2/der inkludierten php Datei
HTML-Code:
<input type="submit" name="test2" value="Abschicken">
PHP-Code:
if(isset($_POST['test2'])){...} 
Bleib bei POST. GET würde ich nur im folgendem Fall verwenden: Die Ergebnisseite eines GET-Formulars kann man bookmarken, da alle nötigen Informationen in der URL enthalten sind.

Gruss doschni
Mit Zitat antworten
  #3  
Alt 18.07.2014, 17:55:08
ega364 ega364 ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 30
Beiträge: 4
AW: Probleme beim einbinden einer .php Datei

Hallo doschni!
Danke für die Antwort!

Die Buttons haben bereits unterschiedliche Namen, daran kann's also nicht liegen.
Diesmal will ich mit dem Code nicht geizen. Im linken div container werden 3 Buttons erzeugt. Nach dem Anklicken soll für jeden Button in div 2 (rechts) ein anderes Formular geladen werden, das am Ende selbstverständlich bestätigt werden muss:
HTML-Code:
<html>
  <head>
  <title>Konfiguration</title>
  <link href="../stylesheet.css" rel="stylesheet" type="text/css" />
  </head> 
    
  <body>
    <div id="main">
      <div id="banner">
        <h1>Konfiguration</h1>  
      </div>
      <div id="menu">
        <form action="create_button.php" method="post" />
          <input type="submit" name="add" value="Hinzufügen" class="mbutton">
          <input type="submit" name="remove" value="Entfernen" class="mbutton">
          <input type="submit" name="chorder" value="Ordnen" class="mbutton">
      </div>
      <div id="switches">
PHP-Code:
<?php 
        
          
if(isset($_POST['add'])){             
            include 
'add.php';      
          }
          elseif(isset(
$_POST['remove'])){
            include 
'remove.php';
          }
          elseif(isset(
$_POST['chorder'])){
            include 
'chorder.php';
          }
?>
HTML-Code:
      </div>
    </div>
  </body>
Hier wird das Formular erzeugt welches nach einem Klick auf hinzufügen angezeigt werden soll. db_connect.php is eine von mir erstellte Klasse die eine Verbindung zur MySql-Datenbank aufbaut und dort die eingegebenen Werte einträgt.
HTML-Code:
<html>
  <body>
     <h1>Ein neues Gerät hinzufügen</h1>
     <form action="add.php" method="post" />
     <table id="formtable">
      <tr>
        <td>
          Neues Gerät
        </td>
        <td>
          <input type="text" name="nb_name" class="textinput">
        </td>
      <tr>
        <td>  
          Raum
        </td> 
        <td> 
         <input type="text" name="nb_group" class="textinput">
        </td>
      </tr>
      <tr>
        <td>  
          Befehl
        </td> 
        <td> 
         <input type="text" name="nb_command" class="textinput">
        </td>
      <tr>
        <td>
        </td>
        <td> 
         <input type="submit" name="addsubmit" value="Gerät hinzufügen" class="submit">
        </td>      
      </tr>
    </table>
PHP-Code:
<?php
          
      
if(isset($_POST['addsubmit'])){                                                                     
      include(
'db_connect.php');  //MySql-Klasse einbinden  
      
$read db_connect("INSERT INTO sw_switches(id, name, swgroup, status, position, command) VALUES (NULL, 'test', 'wz', '0', '1', '01010')""write"); //Neues Gerät hinzufügen 
      
var_dump($read);
      }
   
?>
HTML-Code:
  </body>
</html>
Mit Zitat antworten
  #4  
Alt 18.07.2014, 22:58:11
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Probleme beim einbinden einer .php Datei

Zitat:
Zitat von ega364 Beitrag anzeigen
Diesmal will ich mit dem Code nicht geizen.
Da fehlt noch einiges:
1. kein DOCTYPE: soll das HTML 3.20 sein?
2. form Tag nicht geschlossen. Und selbst wenn er irgend wo geschlossen wird, wäre es falsch geschachtelt.

Code:
      <div id="menu">
        <form action="create_button.php" method="post" />
          <input type="submit" name="add" value="Hinzufügen" class="mbutton">
          <input type="submit" name="remove" value="Entfernen" class="mbutton">
          <input type="submit" name="chorder" value="Ordnen" class="mbutton">
      </div>
Warum kontrollierst Du das HTML nicht mit dem Validator?
http://validator.w3.org/

Da es ua. auch Umlaute gibt, stimmt der charset auch nicht.
Falls es UTF-8 werden soll, mußt Du höchstwahrscheinlich vor dem HTML Gerätze noch nen passenden HTTP header schicken.
Falls nicht: htmlentities() benutzen.

Ganz übel sind allerdings Umlaute in den values von Formularen. Da muß der Browser schon ein großes Herz und viel Mitleid haben... <ggg>

Du hast weniger Ärger, wenn Du Grafiken als Knöppe benutzt.
Mit Zitat antworten
  #5  
Alt 19.07.2014, 01:20:20
doschni doschni ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 40
Beiträge: 14
AW: Probleme beim einbinden einer .php Datei

Ich weiss nicht recht, ob Du Dir unter include das vorstellst, was es ist. Es ist nämlich ein, in eine externe Datei ausgelagerter, Codeschnipsel - nicht eine Webseite. D.h. wenn Du z.B. die index.php erstellst, erstellst Du eine Website mit den <html> ,<head> & <body> Tags, die nur einmal !! vorkommen. Du kannst also zuerst alles auf eine Seite schreiben, und wenn Du fertig bist, den Schnipsel den Du möchtest auslagern. Der Sinn ist, dass man eine Datei für mehrere Websites benutzen kann z.B. die db_connect.php. Wenn dann mal der Server gewechselt wird, genügt es, die db_connect.php Datei anzupassen, anstatt tausende Sites zu öffnen und überall die neuen Zugansdaten einzutippen.

Hier hab ich mal Dein Script mit den zwei Dateien so angepasst, dass zumindest mal der Hinzufuegen-Button funktionieren sollte.

index.php
PHP-Code:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>>Konfiguration</title>
<link rel="stylesheet" type="text/css" href="../stylesheet.css">
</head>

<body>


 <div id="main">
      <div id="banner">
        <h1>Konfiguration</h1>  
      </div>
      <div id="menu">LINKS
        <form name="links">
          <input type="submit" name="add" value="Hinzufuegen" class="mbutton" formaction="" formmethod="post">
          <input type="submit" name="remove" value="Entfernen" class="mbutton" formaction="" formmethod="post">
          <input type="submit" name="chorder" value="Ordnen" class="mbutton" formaction="" formmethod="post">
         </form>
      </div>
      <div id="switches">RECHTS
     
    <?php  

          
if(isset($_POST['addsubmit'])){              
            echo 
$_POST['nb_name'] ." wurde eingetragen";      
          } 


         
          if(isset(
$_POST['add'])){              
            include 
'add.php';       
          } 
          elseif(isset(
$_POST['remove'])){ 
            include 
'add2.php'
          } 
          elseif(isset(
$_POST['chorder'])){ 
            include 
'chorder.php'
          } 
?>
  
      
   </div>
    </div>
  </body>
</html>
add.php
PHP-Code:
<?php  
include 'db_connect.php'//MySql-Klasse einbinden

if(isset($_POST['addsubmit'])){

mysql_query("INSERT INTO sw_switches(id, name, swgroup, status, position, command) VALUES (NULL, 'test', 'wz', '0', '1', '01010')")

or die(
mysql_error());
}
// Hier Datenbank wieder schliessen, je nachdem, was in der db_connect.php steht z.B.
// mysql_close($con);
?>

<h1>Ein neues Gerät hinzufügen</h1>
     <form name="rechts">
     <table id="formtable">
      <tr>
        <td>
          Neues Gerät
        </td>
        <td>
          <input type="text" name="nb_name" class="textinput">
        </td>
      <tr>
        <td>  
          Raum
        </td> 
        <td> 
         <input type="text" name="nb_group" class="textinput">
        </td>
      </tr>
      <tr>
        <td>  
          Befehl
        </td> 
        <td> 
         <input type="text" name="nb_command" class="textinput">
        </td>
      <tr>
        <td>
        </td>
        <td> 
         <input type="submit" name="addsubmit" value="Gerät hinzufügen" class="submit" formaction="" formmethod="post">
        </td>      
      </tr>
    </table>
     </form>

Geändert von doschni (19.07.2014 um 01:48:40 Uhr)
Mit Zitat antworten
  #6  
Alt 19.07.2014, 02:15:55
doschni doschni ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 40
Beiträge: 14
AW: Probleme beim einbinden einer .php Datei

Sorry hier die funktionierende Version:

index.php

PHP-Code:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Funktionierende Konfiguration</title>
</head>

<body>


 <div id="main">
      <div id="banner">
        <h1>Konfiguration</h1>  
      </div>
      <div id="menu">LINKS
        <form name="links">
          <input type="submit" name="add" value="Hinzufuegen" class="mbutton" formaction="" formmethod="post">
          <input type="submit" name="remove" value="Entfernen" class="mbutton" formaction="" formmethod="post">
          <input type="submit" name="chorder" value="Ordnen" class="mbutton" formaction="" formmethod="post">
         </form>
      </div>
      <div id="switches">RECHTS<br>
      
     
    <?php  
          
if(isset($_POST['addsubmit'])){              
            
            echo 
$_POST['nb_name'];
            echo 
$_POST['nb_group'];
            echo 
$_POST['nb_command'];
            include 
'db_connect.php'//MySql-Klasse einbinden 
            
mysql_query("INSERT INTO sw_switches(id, name, swgroup, status, position, command) VALUES (NULL, 'test', 'wz', '0', '1', '01010')")

            or die(
mysql_error());

            
// Hier Datenbank wieder schliessen, je nachdem, was in der db_connect.php steht z.B.
            // mysql_close($con);     
            
          

         
         
          if(isset(
$_POST['add'])){              
            include 
'add.php';       
          } 
          elseif(isset(
$_POST['remove'])){ 
            include 
'add2.php'
          } 
          elseif(isset(
$_POST['chorder'])){ 
            include 
'chorder.php'
          } 
?>
  
      
   </div>
    </div>
  </body>
</html>
add.php

PHP-Code:
<h1>Ein neues Gerät hinzufügen</h1>
     <
form name="rechts">
     <
table id="formtable">
      <
tr>
        <
td>
          
Neues Gerät
        
</td>
        <
td>
          <
input type="text" name="nb_name" class="textinput">
        </
td>
      <
tr>
        <
td>  
          
Raum
        
</td
        <
td
         <
input type="text" name="nb_group" class="textinput">
        </
td>
      </
tr>
      <
tr>
        <
td>  
          
Befehl
        
</td
        <
td
         <
input type="text" name="nb_command" class="textinput">
        </
td>
      <
tr>
        <
td>
        </
td>
        <
td
         <
input type="submit" name="addsubmit" value="Gerät hinzufügen" class="submit" formaction="" formmethod="post">
        </
td>      
      </
tr>
    </
table>
     </
form
Gruss und gut Nacht
Mit Zitat antworten
  #7  
Alt 19.07.2014, 11:20:22
ega364 ega364 ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 30
Beiträge: 4
AW: Probleme beim einbinden einer .php Datei

Zitat:
Zitat von meikel Beitrag anzeigen
Da fehlt noch einiges:
1. kein DOCTYPE: soll das HTML 3.20 sein?
2. form Tag nicht geschlossen. Und selbst wenn er irgend wo geschlossen wird, wäre es falsch geschachtelt.
Wie man vielleicht merkt mache ich das hobbymäßig und hab mir meine bescheidenen Fähigkeiten selbst beigebracht.
Zugegeben bin ich oft zu ungeduldig, um bei den Basics zu beginnen. Aber ich werde fortan darauf achten.

Zitat:
Zitat von meikel Beitrag anzeigen
Warum kontrollierst Du das HTML nicht mit dem Validator?
http://validator.w3.org/
Auch das werde ich mir mal anschauen. Danke.

Zitat:
Zitat von meikel Beitrag anzeigen
Ganz übel sind allerdings Umlaute in den values von Formularen. Da muß der Browser schon ein großes Herz und viel Mitleid haben...
Da kenn ich mich jetzt überhaupt nicht aus. Aber so tragisch ist das nicht. Die Seite wird ja ohnehin nie veröffentlicht, sondern soll nur zu Hause im Lokalnetz laufen. Solang es da funktioniert mach ich mir darüber keine Gedanken

Zitat:
Zitat von meikel Beitrag anzeigen
Du hast weniger Ärger, wenn Du Grafiken als Knöppe benutzt.
Wie gesagt -> Amateurlaie.
Ich tue mir mit Knöpfen leichter, da soetwas ähnliches noch auf einer zweiten Seite geschehen soll. Dort werden die Buttons jedoch dynamisch aus einer Datenbank generiert... Ist bestimmt auch mit Grafiken möglich, für mich zZ jedoch nicht.

Jedenfalls danke für deine Tipps!
Mit Zitat antworten
  #8  
Alt 19.07.2014, 11:29:37
ega364 ega364 ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 30
Beiträge: 4
AW: Probleme beim einbinden einer .php Datei

Danke doschni!

Jetzt funktioniert es so wie es soll!

Zitat:
Zitat von doschni Beitrag anzeigen
Ich weiss nicht recht, ob Du Dir unter include das vorstellst, was es ist.
Ja, dass es nur einem ausgelagertem Codeschnipsel entspricht, habe ich gewusst.
Habe jedoch nicht bedacht, dass die angesprochenen html-tags ja bereits in der index.php vorhanden sind.
Hätte man auch selbst draufkommen können. *ärger*

Dann werde ich jetzt Eure Augen verschonen
und alleine mit meinem Code-Gebräu weitermachen. :)

DANKE!
Mit Zitat antworten
  #9  
Alt 19.07.2014, 17:19:04
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Probleme beim einbinden einer .php Datei

Zitat:
Zitat von doschni Beitrag anzeigen
Sorry hier die funktionierende Version:
Wesentlich besser:
Code:
Errors found while checking this document as HTML5!
Result: 	3 Errors, 2 warning(s)
...
Code:
 Line 17, Column 110: Bad value for attribute formaction on element input: Must be non-empty.

…name="add" value="Hinzufuegen" class="mbutton" formaction="" formmethod="post">

Syntax of URL:
    Any URL. For example: /hello, #canvas, or http://example.org/. Characters should be represented in NFC and spaces should be escaped as %20. 

Error Line 18, Column 111: Bad value for attribute formaction on element input: Must be non-empty.

…ame="remove" value="Entfernen" class="mbutton" formaction="" formmethod="post">

Syntax of URL:
    Any URL. For example: /hello, #canvas, or http://example.org/. Characters should be represented in NFC and spaces should be escaped as %20. 

Error Line 19, Column 109: Bad value for attribute formaction on element input: Must be non-empty.

… name="chorder" value="Ordnen" class="mbutton" formaction="" formmethod="post">

Syntax of URL:
    Any URL. For example: /hello, #canvas, or http://example.org/. Characters should be represented in NFC and spaces should be escaped as %20.
Abhilfe:
Code:
 ... formaction="#" ...
oder:
Code:
 ... action="#" ...
Erstaunlicherweise wird bei HTML5 ein fehlendes/r Content-type Attribut/Tag nicht vermißt.

Bei Bedarf:
Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Mit Zitat antworten
  #10  
Alt 19.07.2014, 17:39:27
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Probleme beim einbinden einer .php Datei

Zitat:
Zitat von ega364 Beitrag anzeigen
Wie man vielleicht merkt mache ich das hobbymäßig und hab mir meine bescheidenen Fähigkeiten selbst beigebracht.
a. völlig egal, ob Du das nur "unterm Schreibtisch" oder kommerziell betreibst.
b. hier:
http://de.selfhtml.org/
hier
http://validator.w3.org/
und hier
http://jigsaw.w3.org/css-validator/
gibts Hilfe bzw. "Zensuren".

Man hat die Wahl:
Zitat:
Validate by URI
Validate by File Upload
Validate by Direct Input
Falls kein öffentlicher URL: Ich teste das immer so, daß ich das Script via HTTP Server mit dem Browser aufrufe und den HTML-Quelltext über die Zwischenablage dam Validator zum fressen gebe.
Sonst gibts den Link. Dann testet das Teil noch die HTTP Header.

Zitat:
Zugegeben bin ich oft zu ungeduldig, um bei den Basics zu beginnen. Aber ich werde fortan darauf achten.
OK.

Zitat:
Da kenn ich mich jetzt überhaupt nicht aus. Aber so tragisch ist das nicht. Die Seite wird ja ohnehin nie veröffentlicht, sondern soll nur zu Hause im Lokalnetz laufen. Solang es da funktioniert mach ich mir darüber keine Gedanken
Aus eigener leidvoller Erfahrung: "Nichts ist langlebiger als ein Provisorium."
Zitat:
Ich tue mir mit Knöpfen leichter, da soetwas ähnliches noch auf einer zweiten Seite geschehen soll.
Mit Umlauten gibts immer Ärger, der fast unlösbar wird, wenn noch Javascript dazukommt. Es ist einfacher, einen mit <passendes Bildbearbeitungsprogramm> gemalten Knopp zu verwenden. Da kannste Umlaute u/o chinesische Schriftzeichen reinpinseln, weil sich daran weder der Browser noch der Server stört:
http://de.selfhtml.org/html/formular...ons.htm#modern
Das beachten:
11.14. Wie verarbeite ich <input type="image">?
http://home.mengelke.de/html-php-mys...lar-image.html
Zitat:
Ist bestimmt auch mit Grafiken möglich, für mich zZ jedoch nicht.
Siehs doch einfach mal so:
das Vorstreichen eines Gegenstandes vor dem Lackieren ist auch dann erforderlich, wenn man kein Malermeister ist, weil sonst der Lack abblättert.
Mit Zitat antworten
Antwort

Stichworte
get, include, post, problem


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
geparste datei inklusive php-code einbinden Don Jojo PHP Grundlagen 3 31.03.2009 13:04:31
Layer in .tpl datei einbinden DeadLord PHP für Fortgeschrittene und Experten 1 19.05.2008 00:20:46
kann keine Parameter an .php Datei übergeben ?? chrisu69 PHP Grundlagen 4 26.02.2006 19:25:43
Variablen von einer .php Datei zur anderen übergeben Markuschmitz PHP Grundlagen 12 23.04.2004 11:29:58
Laden einer .php Datei in eine <textarea>! s-fox PHP Grundlagen 3 30.11.2003 17:07:07


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:23:58 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt