php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.10.2005, 09:20  
Gast
 
Beiträge: n/a
Standard Mehrfacherfassung, Variablen erneut auslesen

Hi,

Ausgangslage:
--
- Formular, SQL-Insert passiert nach Submit Button.
- normaler Insert eines Artikels ist kein Problem
- Nun soll sowas die Mehrfacherfassung eingebaut werden,

d.h.
Die felder sollen mit den vorherigen Werten (innerhalb der Session) vorausgefüllt sein.
In den POSt Variablen sind die Werte ja noch enthalten,
aber ich kann schlecht im Formular schon die Values einbauen da sonst beim Erst-Aufruf fehler entstehen.

Wie kann ich das Problem angehen ?
Ideen ? vorschläge ?

mir kam schon die idee, einfach eine "NEUE " seite aufzurufen welche dann den letzten DB eintrag ausliest und ich so an die Daten kommen , anstatt über die Variablen zu gehn.


Danke im Vorraus

gruss
fidel_
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.10.2005, 09:30  
Gast
 
Beiträge: n/a
Standard

Schau dir dieses Muster an:

25.2. Von HTML zu PHP: Schreibe Formularverarbeitungen in Normalform
http://www.php-faq.de/q/q-stil-normalform.html

~dilemma~
 
Alt 17.10.2005, 09:39  
Gast
 
Beiträge: n/a
Standard

Werte aus Parametern (POST, GET, etc) ohne Prüfung direkt zu übernehmen ist sowieso nie eine gute Idee.

Hol Dir die benötigten Daten für das Formular aus den POST Daten (und überprüfen sie). Sind die Daten nicht im POST enthalten, bleibt Deine Variable leer, ansonsten wird sie gefüllt.

Wenn Du jetzt in Deinem Formular immer diese Variablen ausgibst, wird entweder der leer Inhalt oder der in den Parametern enthaltene eingetragen.

Mögliche Variante:
PHP-Code:
<?php

$pVar1 
'';
$pVar2 '';
...
$pVarN '';

if ( 
array_key_exists'param1'$_POST ) )
{
   
$pVar1 $_POST['param1'];
}

if ( 
array_key_exists'param2'$_POST ) )
{ ... }
?>
Im ersten Schritt initialisierst Du die lokal benötigten Variablen für Dein Formular. Dann gibts später auch keine Fehler wegen nicht initialisierter Variablen.

Anschließend holst Du jeden Wert aus den Parametern in die entsprechende lokale Var und überprüfst sie anschließend noch (wenn Dir Sicherheit wichtig ist ).

In Deinem Formular kommt dann in jedes "value" Attribut ein
PHP-Code:
<?php
print( $pVarX ); ?>
und schon wird Dein Forumlar vorgefüllt, wenn die Daten vorhanden sind.

Ich hoffe das war Deine Frage und ich konnte Dir wenigstens einen Denkanstoß geben ^^
 
Alt 17.10.2005, 09:47  
Gast
 
Beiträge: n/a
Standard

danke für das Stichwort
 
Alt 17.10.2005, 12:44  
Gast
 
Beiträge: n/a
Standard

EDIT: IGNORE ME


mh,
also ich habe mir jetzt mal nach einiger Suche ein quasi Affen-Bespiel gebastelt.
Die Werte werden in die DB geschrieben und sind weiterhin im Formular sichtbar.
soweit so gut.

Mein Formular besteht aber nicht nur aus Textfeldern,
sondern u.a. auch aus MySQL gefüllten Dropboxen.

d.h. ich brauche auch die Übername der selektierten Auswahlkästen.

hier mal mein code:
PHP-Code:
<?php
// Affen und anderes ;)
//
//
//
// reinige die Eingabe
function tidy_post_values()
{
    
$stack = array();
   
$args func_get_args();
   while (
$idx array_shift($args))
   {
        if (!isset(
$_POST[$idx]))
        {
            
$stack[$idx] = '';
         continue;
         }
      
$tmp trim($_POST[$idx]);
      
$tmp get_magic_quotes_gpc()
            ? 
stripslashes($tmp)
            : 
$tmp;
         
$stack[$idx] = htmlentities($tmp);
     }
    return 
$stack;
}


// Form stuff
function get_comment_form()
{
$values tidy_post_values('einkaufspreis','artikel_kategorie');
//
//
//
//
echo "<form action='{$_SERVER['REQUEST_URI']}' method='post'>";
echo 
"<input type='hidden' name='COMMENTACTION' value='ISSEND'/>";
echo 
"<table width='700' border='1' cellpadding='2' cellspacing='1' align='left'>";
//
// textfelder test
echo "<tr>";
    echo 
"<td></td>";
    echo 
"<td>*Einkaufspreis:</td>";
    echo 
"<td><input size='30'  name='einkaufspreis' type='text' value='{$values['einkaufspreis']}' ></td>";
    echo 
"<td></td>";
    echo 
"</tr>";
    
// Dropboxen test
    
echo "<tr>";
        echo 
"<td></td>";
        echo 
"<td>[i]Kategorie:[/i]</td>";
        echo 
"<td colspan='2'>";
            echo 
"<select class='form' id='artikel_kategorie' name='artikel_kategorie'>";
            echo 
"<option value=''>Bitte w&auml;hlen</option>";
$sql=        "SELECT         inventar_kategorie_id, inventar_kategorie_bezeichnung 
FROM             KIS_inventar_kategorie 
ORDER BY     inventar_kategorie_bezeichnung ASC"
;
$result=                mysql_query($sql);
while (
$wahl mysql_fetch_object ($result)) 
{
    echo 
'<option value="'$wahl->inventar_kategorie_id'">'$wahl->inventar_kategorie_bezeichnung'</option>';
}                                             
echo 
"</select>";
echo 
"</td>";
    
//
    
echo "<tr>";
    echo 
"<td colspan='4'>";
    echo 
"<input type='submit' name='GO' value='Absenden'/>    ";
    echo 
"</tr>";
    echo 
"</form>";  
}



// bei Knopfdruck
if(isset($_POST['GO']))
{
    
$eins    =    $_POST['einkaufspreis'];
    
$zwo    =    $_POST['artikel_kategorie'];
    
    
$sql "    INSERT INTO     test 
                                    (a,b)
                VALUES             ('$eins', '$zwo')"
;
    
$result  mysql_query($sql) or die('jo hier FEHLER');
}



// MAIN
echo get_comment_form();



?>
 
Alt 17.10.2005, 13:54  
Gast
 
Beiträge: n/a
Standard

Um einen Eintrag in einer Dropdownbox vorzuslektieren mußt Du einfach nur in den <option> Tag ein "selected" eintragen.

Code:
<select name="irgendwas">
   <option value="a">Ich bin nicht selektiert</option>
   <option value="b" selected>Ich bin Vorselektiert</option>
</select>
Den Rest bekommst Du bestimmt selber hin
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Klasse statt globaler Variablen ecomeback PHP-Fortgeschrittene 6 15.07.2008 16:30
Aus MySQL auslesen mit 2 $_REQUEST[''] Variablen imported_Daniel PHP Tipps 2008 7 31.03.2008 09:59
Variablen in Datenbank speichern und auslesen freehawk PHP-Fortgeschrittene 4 16.03.2008 17:22
Alle Variablen in der URL auslesen und übergeben Plague PHP Tipps 2007 6 24.02.2007 13:36
Daten aus einer Datenbank auslesen Datenbanken 2 04.09.2005 19:13
eilig: alle mit POST übertragenen variablen auslesen PHP Tipps 2005-2 3 01.09.2005 15:52
Variablen von einer externen Datei auslesen PHP Tipps 2005-2 7 22.08.2005 22:58
spaltenname für update aus variablen auslesen Datenbanken 3 29.07.2005 12:57
Daten aus Text auslesen und in Variablen extrahieren PHP Tipps 2005-2 12 10.06.2005 08:05
XMl Datei auslesen und auf unterschiedl. variablen speichern Tigermoon PHP Tipps 2005 1 29.04.2005 22:05
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
Variablen auslesen ? PHP-Fortgeschrittene 2 26.01.2005 13:51
variablen frmeder Seiten auslesen PHP Tipps 2005 10 22.01.2005 21:47
inhalt aus einem imput feld mit variablen Namen auslesen HTML, Usability und Barrierefreiheit 4 08.01.2005 00:43
Alle Session Variablen auslesen? SRWeb PHP Tipps 2004-2 2 07.12.2004 20:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
post variable aus sql auslesen, php formular form vorgefüllt, php später variable innerhalb oben auslesen, mehrfacherfassung

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.