php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 3 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 23-11-2006, 22:21
enforcer
 Newbie
Links : Onlinestatus : enforcer ist offline
Registriert seit: Nov 2006
Beiträge: 80
enforcer ist zur Zeit noch ein unbeschriebenes Blatt
Standard "form action" mit include

hallo

ich habe eine startseite auf der ich mit include($main) meine seiten einbinde.
Verlinkt werden sie über main.php?page=seite.php
PHP-Code:
    if($_SERVER['REQUEST_METHOD'] == 'GET'
    {
         
$main $_GET['page'];
    } 
auf verschienden Seiten, die eingebunden werden sind Formuare, die über POST daten in die Datenbank schreiben.
mit dem include funktioniert nun mein $_SERVER["PHP_SELF"] im action Teil nicht mehr.
Die Daten werden erst geschreiben, wenn die Seite neu geladen wird und sich die $_REQEUST["do"] in der Session befindet.

Wie bekomme ich es nun hin, dass die Seite wie gewohnt läd?

Hier der Quelltext der Seite:

PHP-Code:
<?php

    
//ID Festlegen
    
$id date("Ymd-His");
    
$id_view date("Ymd-His");

    
//Prüfen, ob Seite sich selbst aufruft
    
if (isset ($_REQUEST["do"]) && $_REQUEST["do"] == "check")
    {
        
//Datum festlegen
        
$datum date("d.m.Y");
        
        
//Festlegen der Pflichtfelder
        
$error_msg "";
        
        if ( !isset (
$_REQUEST["form_abteilung"]) || $_REQUEST["form_abteilung"] == "")
        {
            
$error_msg "Bitte geben Sie eine Abteilung an.</br>";
        }
    
        if ( !isset (
$_REQUEST["form_name"]) || $_REQUEST["form_name"] == "")
        {
            
$error_msg .= "Bitte geben Sie einen Namen an.</br>";
        }

        if ( !isset (
$_REQUEST["form_artikel"]) || $_REQUEST["form_artikel"] == "")
        {
            
$error_msg .= "Bitte geben Sie einen Artikel an.</br>";
        }

        if ( !isset (
$_REQUEST["form_anzahl"]) || $_REQUEST["form_anzahl"] == "")
        {
            
$error_msg .= "Bitte geben Sie eine Anzahl an.</br>";
        }    
        
        if ( 
$error_msg == "")
        {
            
$weiter "Ihre Bestellung wurde eingetragen. Sie können nun eine weitere Bestellung aufgeben.<br /><br /><br />";
            
            
//Zugriff auf die Datenbank
            
mysqlconnect();
            
            
//Datensätze in Datenbank übertragen
            
$query  "INSERT INTO drucker (ID,Abteilung,Name,Artikel,Anzahl,Datum) VALUES (";
            
$query .= "'".$id."',";
            
$query .= "'".$_REQUEST["form_abteilung"]."',";
            
$query .= "'".$_REQUEST["form_name"]."',";
            
$query .= "'".$_REQUEST["form_artikel"]."',";
            
$query .= "'".$_REQUEST["form_anzahl"]."',";
            
$query .= "'".$datum."'";
            
$query .= ")";
            
            
// In die Datenbank eintragen
            
$result    =    mysql_query$query );
            
            if ( ! 
$result )
            {
            die(
"Konnte den Datensatz nicht eintragen: " mysql_error() );
            }
        }
        
    }    
    
// Datensätze für die Materialwahl zählen
//$query_dm = "SELECT * FROM druckermaterial ORDER BY Bezeichnung";
//$result_dm = mysql_query($query_dm);

//if (! $result_dm)
//{
//    echo ("Konnte Tabelle Abteilungen nicht auslesen");
//}

//$anzahl_dm = mysql_num_rows($result_dm);

// Auslesen der Daten für die Abteilungen
$query_abteilungen  "SELECT * FROM abteilungen ORDER BY Name";
$result_abteilungen mysql_query($query_abteilungen);

if (! 
$result_abteilungen)
{
    echo (
"Konnte Tabelle Abteilungen nicht auslesen");
}

$anzahl_abteilungen    mysql_num_rows($result_abteilungen);

?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="css.css" type="text/css" />
<title>Navigation</title>
<style type="text/css">
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    background-color: #dbdbdb;
}
.Stil1 {color: #FFFFFF}
</style>
<script>
<!-- Drucken des Frames
function printframe() {
window.print();
}
-->
</script>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="29" background="images/design_09.png">Bestelleingabe Druckerverbrauchsmatrial : Tinte </td>
  </tr>
</table>
<p>&nbsp;</p>
<center>
<form method="POST" <?php echo(" action=\"main.php?page=module/bestellungen/druckermaterial/drucker.php\" "); ?> >
<?php
    
if ( isset ($weiter))
    {
        echo 
$weiter;
    }
    
    if ( isset (
$error_msg))
    {
        echo 
$error_msg;
    }
?>
<table width="600" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="120" height="20" bgcolor="#3b4650"><span class="Stil1"><strong>&nbsp;Bestellnummer</strong></span></td>
    <td height="20" bgcolor="#3b4650"><span class="Stil1"><?php echo $id_view?></span></td>
  </tr>
  <tr>
    <td width="120"><input name="site" type="hidden" class="Stil1" value="startseite.php" border="0"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#718598">&nbsp;</td>
    <td bgcolor="#718598">&nbsp;</td>
  </tr>
  <tr>
    <td width="120" bgcolor="#718598"><strong>&nbsp;Abteilung</strong></td>
    <td bgcolor="#718598">  <label>
  <select name="form_abteilung">
    <option>--- Bitte Abteilung wählen ---</option>
    <?php
    
for ($i=1$i <= $anzahl_abteilungen$i++)
        {
            
$abteilungen mysql_fetch_array($result_abteilungen);    
    
?>
    <option value="KD-30001 Einkauf">Einkauf</option>
    <?php
        
}
    
?>    
  </select>
  </label></td>
  </tr>
  <tr>
    <td width="120" bgcolor="#718598"><strong>&nbsp;Name</strong></td>
    <td bgcolor="#718598"><input name="form_name" type="text" id="anzahl2" size="30" border="0"></td>
  </tr>
  <tr>
    <td width="120" bgcolor="#718598">&nbsp;</td>
    <td bgcolor="#718598">&nbsp;</td>
  </tr>
  <tr>
    <td width="120" bgcolor="#718598"><strong>&nbsp;Artikel</strong></td>
    <td bgcolor="#718598"><label>
      <select name="form_artikel" id="artikel">
          <option>--- Bitte Artikel wählen ---</option>
        <option value="firmenname">Hewlett-Packard</option>
        </select>
    </label>    </td>
  </tr>
  <tr>
    <td width="120" bgcolor="#718598"><strong>&nbsp;Anzahl</strong></td>
    <td bgcolor="#718598"><input name="form_anzahl" type="text" id="anzahl" size="10"></td>
  </tr>
  <tr>
    <td bgcolor="#718598">&nbsp;</td>
    <td bgcolor="#718598">&nbsp;</td>
  </tr>
  <tr>
    <td width="120">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td width="120"><input name="do" type="hidden" class="Stil1" value="check" border="0"></td>
    <td><input type="submit" name="submitButtonName" value="versenden" border="0"></td>
  </tr>
</table>
</form>
<p>&nbsp;</p>
</center>
</body>
</html>
Mit Zitat antworten
  #2 (permalink)  
Alt 24-11-2006, 15:50
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

verstehe Dein Problem nicht ganz. Wo setzt Du denn $_SERVER['PHP_SELF'] ein?
Sprichst Du vielleicht von diesem Problem?

LG
Mit Zitat antworten
  #3 (permalink)  
Alt 24-11-2006, 15:54
enforcer
 Newbie
Links : Onlinestatus : enforcer ist offline
Registriert seit: Nov 2006
Beiträge: 80
enforcer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja... PHP_SELF ruft die seite main.php auf. geht also nicht, da keine variablen.
action="main.php?page?=bestellung.php" bringt zwar den richtigen link in die leiste, aber es gibt eine fehlermeldung, weil er die variable $main damit nicht belegt und diese somit unbelegt ist.
ich muss im grunde das selbe script (bestellung.php) erneut aufrufen, damit die variable übergeben wird und das ganze in die db eingetragen wird.
Mit Zitat antworten
  #4 (permalink)  
Alt 24-11-2006, 16:02
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

Zitat:
ja... PHP_SELF ruft die seite main.php auf. geht also nicht, da keine variablen.
Ja, dann häng die benötigten Parameter halt dran. Hast Du den verlinkten Thread gelesen?

LG
Mit Zitat antworten
  #5 (permalink)  
Alt 24-11-2006, 16:03
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

1. Kürze deinen Code auf das wesentliche und brich ihn gemäß unserer Regeln um!

2. main.php?page?=bestellung.php da ist ein Fragezeichen hinter page zu viel.

3. Wie und wo belegst du die variable $main??
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6 (permalink)  
Alt 26-11-2006, 09:37
enforcer
 Newbie
Links : Onlinestatus : enforcer ist offline
Registriert seit: Nov 2006
Beiträge: 80
enforcer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also... die variable $main befindet sich auf der startseite (main.php). eine tabelle mit 3 feldern, in welchen verschiedene php mit include eingebunden werden.
definiert wird die Variable auf der main.php wie folgt:

PHP-Code:
    if($_SERVER['REQUEST_METHOD'] == 'GET'
        {
             
$main $_GET['page'];
        } 
Das ganze funktioniert auch so lange, bis ich versuche das Formular über POST abzuschicken. Ich müsste erreichen, dass er nach dem Abschicken die main.php wieder mit den Parametern main.php?page=formular.php aufruft.
Das schaffe ich auch. Allerdings bekomme ich die Fehlermeldung die Variable $main sei nicht belegt. In der URL-Eingabeleiste des Browsers steht die richtige Adresse, bei einem Klick auf Enter ruft er auch die richtige Seite auf. Allerdings steht im Browser nur, dass die Variable $main nicht belegt wurde.
Mit Zitat antworten
  #7 (permalink)  
Alt 26-11-2006, 20:01
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

wenn in der url die variable drin ständ, würdest du keinen fehler erhalten. was steht genau in der url drin???
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8 (permalink)  
Alt 26-11-2006, 20:12
enforcer
 Newbie
Links : Onlinestatus : enforcer ist offline
Registriert seit: Nov 2006
Beiträge: 80
enforcer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

da steht die url, die er aufrufen soll..

aber im Browser steht:

Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;C:\Programme\xampp\php\pear\') in C:\Programme\xampp\htdocs\service demo\main.php on line 41
Mit Zitat antworten
  #9 (permalink)  
Alt 27-11-2006, 19:33
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

was soll denn überhaupt die Abfrage der REQUEST_METHOD? Habe ich noch nie benutzt. Steht da vielleicht "POST" drin, da Du ein Formular per POST versendet hast? Das ist sowieso höchst unsauber, weil $_GET['page'] nicht gefüllt sein muss, nur weil die REQUEST_METHOD "GET" war. Frage stattdessen doch einfach ab, ob $_GET['page'] gesetzt ist.

LG
Mit Zitat antworten
  #10 (permalink)  
Alt 27-11-2006, 19:36
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Frage stattdessen doch einfach ab, ob $_GET['page'] gesetzt ist.
Und prüfe daneben auch noch ob die Datei, welche durch den Parameter definiert wurde, überhaupt angezeigt werden darf (sprich nicht .htaccess oder sonst was in der Richtung ist)

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #11 (permalink)  
Alt 27-11-2006, 19:54
enforcer
 Newbie
Links : Onlinestatus : enforcer ist offline
Registriert seit: Nov 2006
Beiträge: 80
enforcer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

is ja wirklich nett, dass hier jemand helfen will, aber wie gesagt: ich hab php vor ca. 2 wochen angefangen. Dass das nicht sauber ist, kann ich mir denken.
Und bevor einer fragt: Ich musste in Visio ein ERM erstellen, in Access vererbeiten und nun als Php machen. Und nein. Übernehmen von Access geht nicht, da andere Aufgabenstellung.

Also nochmal.. was und wie muss ich wo ergänzen? Was is falsch an method?

Wie binde ich eine php-Seite mit Formular auf der Index dann ein? Im Prinzip hab ich mir mit der include("variable") eine frameseite nachgebaut....
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:18 Uhr.