php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.04.2005, 11:27  
Gast
 
Beiträge: n/a
Standard Selectbox + Textbox + Submit

hi leute!
Ich habe folgendes problem: es gibt 2 tabellen wobei ich aus einer werte in eine "select box" lade und zusammen mit dem wert eines "textfeldes" in die andere beim drücken des "submit" buttons einfügen will.
der code ist nach meinem (un)wissen zusmmengefügt worden aber wie es zu erwarten war haut es nicht hin! bedanke mich für jede art von hilfe!
PHP-Code:
<?php
if ($HTTP_POST_VARS['submit']) {
mysql_connect("mysql.database.gg""user""pass");
mysql_select_db("db3");

$ProdGrpName=$HTTP_POST_VARS['ProdGrpName'];
$ProdGrpId=$HTTP_POST_VARS['ProdGrpId'];
$query ="INSERT INTO ProdGrp (ProdGrpName)";
$query.=" VALUES ('$ProdGrpName','$myselect')";
$result=mysql_query($query);
$res=mysql_query("SELECT ProdGrpName FROM ProdGrp");

if (
$result) echo "[b]Eintrag erfolgreich übernommen![/b]";
else echo 
"[b]Fehler: Datensatz nicht eingefügt.[/b]";

echo 
"<select name=myselect>";
while(
$row=mysql_fetch_assoc($res)) {
  echo 
"<option value=$row[ProdGrpId]>$row[ProdGrpName]</option>";
}
echo 
"</select>";
}
?>
<form method="POST" action="<? echo $PHP_SELF ?>">
Produktgruppe Hinzuf&uuml;gen
  <input name="ProdGrpId" type="hidden" value="" size="4">


<input name="ProdGrpName" type="text" size="25" maxlength="50">
<input type="submit" name="submit" value="Submit">
</form>
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.04.2005, 11:33  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1. bitte [php]-tags richtig benutzen
2.
error-reporting
Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird) [php:e236740a47]error_reporting(E_ALL); [/php:e236740a47] damit werden dann alle Fehler ausgegeben.

3.

mysql error
man sollte in seinen Scripten immer mysql_error() verwenden, in etwa so:
[php:e236740a47]
$sql = "SELECT feld1,feld2 FROM table WHERE id=5";
$result = mysql_query($sql) or die(mysql_error().'
Query: '.$sql);
[/php:e236740a47]

mfg
robo47
robo47 ist offline  
Alt 27.04.2005, 11:36  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

siehe robo, den so liest sich das doch keiner durch...
ich zu mindestens nicht...sorry

EDIT
und register_global ist auch dein Freund.

PHP-Code:
<?php
$_SERVER
['PHP_SELF'];
und
$_POST
['variable'];

?>
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 27.04.2005, 11:52  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard Re: Selectbox + Textbox + Submit

Zitat:
Zitat von rix
... aber wie es zu erwarten war haut es nicht hin!
Wieder mal eine genial präzise Fehlerbeschreibung. Neben dem schon Gesagten noch ein Tipp: http://www.lugbz.org/documents/smart-questions_de.html
Was mir so auf einen Blick aufgefallen ist:
  • - Die Select-Box gehört in das Forumlar rein, und nicht davor
    - die Indizes von assoziativen Arrays schreibt man überall in Anführungszeichen
    - den Index 'ProdGrpId' gibt es nicht (war nicht in der Abfrage)
    - Nimm $_POST statt $HTTP_POST_VARS
Soviel mal für den Anfang
__________________
Gruss
L
lazydog ist offline  
Alt 27.04.2005, 12:11  
Gast
 
Beiträge: n/a
Standard

ja find ich cool das ich aufmerksam gemacht werde das was ich nicht besser weiß doch richtig zu machen aber ich dachte das ich hier als Anfänger Hilfe bekomme oder zumindest fragen kann!
register_global kann ich nicht auf on setzen da ich im Moment keinen eigenen lamps-Server betreibe aber wenn das doch geht würd' ich gern wissen wie und warum es mein Freund ist (oder kann man auf eine eigene php.ini verweisen)?! das mit den [php]-tags werde ich beim nächsten thread besser machen!
trotzdem vielen dank für die prompte antwort

[php:78b3b6763b]<?php
if ($HTTP_POST_VARS['submit']) {
mysql_connect("mysql.database.gg", "user", "pass");
mysql_select_db("db3");

$ProdGrpName=$HTTP_POST_VARS['ProdGrpName'];
$ProdGrpId=$HTTP_POST_VARS['ProdGrpId'];
$query ="INSERT INTO ProdGrp (ProdGrpName)";
$query.=" VALUES ('$ProdGrpName','$myselect')";
$result=mysql_query($query);
$res=mysql_query("SELECT ProdGrpName FROM ProdGrp");

if ($result) echo "Eintrag erfolgreich übernommen!";
else echo "Fehler: Datensatz nicht eingefügt.";

echo "<select name=myselect>";
while($row=mysql_fetch_assoc($res)) {
echo "<option value=$row[ProdGrpId]>$row[ProdGrpName]</option>";
}
echo "</select>";
}
?>
<form method="POST" action="<? echo $PHP_SELF ?>">
Produktgruppe Hinzuf&uuml;gen
<input name="ProdGrpId" type="hidden" value="" size="4">


<input name="ProdGrpName" type="text" size="25" maxlength="50">
<input type="submit" name="submit" value="Submit">
</form>

?>[/php:78b3b6763b]
 
Alt 27.04.2005, 12:17  
Gast
 
Beiträge: n/a
Standard

danke lazydog!
anhand deiner antwort weiss ich wenigstens was ich ungefähr falsch mache.
 
Alt 27.04.2005, 12:41  
Gast
 
Beiträge: n/a
Standard

Ok, mir ist klar das mein Code unbrauchbar ist aber ich dachte ich gebe Euch soviel Info wie nur möglich damit Ihr sehen könnt was ich für Fehler mache!
Also vergesst den Code und gibt mir ein Sample falls es nicht zu stressig ist.

Hier noch mal Klartext:

Die erste Tabelle mit dem Namen "ProdGrp" beinhaltet zwei Spalten "ProdGrpId" und "ProdGrpName".

Die zweite heißt "Products" mit drei Spalten "ProdId", "ProdName" und "ProdGrp(FK)".

Mein Problem ist den Wert "ProdGrpNamen" aus der Tabelle "ProdGrp" via "Selectbox" zusammen mit einem eingegeben Wert aus einer "Textbox" in die entsprechenden Felder der Tabelle "Products" nach klicken eines "Submit-Buttons" einzufügen!

Ich danke Euch für die mühe und wünsche noch einen wunderschönen Tag!
 
Alt 27.04.2005, 13:04  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Zitat:
Zitat von rix
register_global kann ich nicht auf on setzen da ich im Moment keinen eigenen lamps-Server betreibe
wer hat eigendlich gesagt, das du das auf on setzen sollst?

register_globals
http://www.phpfriend.de/ftopic26569.html
-> lesen, verstehen, umsetzen und nicht register_globals auf on stellen !!
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 27.04.2005, 13:19  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von rix
register_global kann ich nicht auf on setzen da ich im Moment keinen eigenen lamps-Server betreibe aber wenn das doch geht würd' ich gern wissen wie und warum es mein Freund ist (oder kann man auf eine eigene php.ini verweisen)?!
register_global sollte aus Sicherheitsgründen auf off sein. Da hast Du wohl was missverstanden. Sieh mal hier nach:
http://www.php.net/manual/de/security.globals.php

HTTP_POST_VARS ist veraltet. Nimm stattdessen $_POST
http://www.php.net/manual/de/reserve...variables.post
 
Alt 27.04.2005, 13:58  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Weil ich heut grad mal gut drauf bin, hab ich mal versucht, die gröbsten Fehler raus zu kriegen und den Code in eine lesbare Form zu bringen. Ich bin aber nicht sicher ob es das ist, was du willst. Deine Problembeschreibung ist immer noch etwas wirr, bzw. du scheinst einige Attribute zu verwechseln.
PHP-Code:
<?php
if ($_POST['submit']) {
    
mysql_connect("mysql.database.gg""user""pass");
    
mysql_select_db("db3");
    
    
$ProdGrpName $_POST['ProdGrpName'];
    
$ProdGrpId = isset($_POST['myselect']) ? $_POST['myselect'] : '';
    
$query "INSERT INTO Products (ProdName, ProdGrp)
                       VALUES ('$ProdGrpName', '" 
$_POST['myselection'])";
    $result = mysql_query($query) or die("
Fehler:
$query
" . mysql_error());
    if ($result){
        echo "
[b]Eintrag erfolgreich übernommen![/b]";
    }
    else{
        echo "
[b]FehlerDatensatz nicht eingefügt.[/b]";
    }
    
    $query = "
SELECT ProdGrpIdProdGrpName 
              FROM ProdGrp
";
    $res = mysql_query($query) or die("
Fehler:
$query
" . mysql_error());

    echo "
<form method='POST' action='" . $_SERVER['PHP_SELF'] . "'>n
          Produktgruppe Hinzuf
&uuml;gen";
    echo "
<select name='myselect'>n";
    while($row = mysql_fetch_assoc($res)) {
        echo "
<option value='" . $row['ProdGrpId'] . "'>" . $row['ProdGrpName'] . "</option>n";
    }
    echo "
</select>n";
}
echo "
<input name='ProdGrpId' type='hidden' value='$ProdGrpId' size='4'>n
      

      
<input name='ProdGrpName' type='text' size='25' maxlength='50'>n
      
<input type='submit' name='submit' value='Submit'>n
      
</form>n";
?>
Kann ich selbstverständlich nicht testen.

[edit] Das PHP-Tag scheint mir alle Backslshes von"\n" geklaut zu haben
__________________
Gruss
L
lazydog ist offline  
 


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
form action wird vor submit ausgeführt abcluberer PHP Tipps 2008 5 14.05.2008 10:32
Textboxen abhängig von Textbox, Checkbox und Radiobuttons HTML, Usability und Barrierefreiheit 1 13.01.2006 12:11
Weiterleitung auf eine andere Seite nach Submit... PHP Tipps 2005-2 6 30.08.2005 08:35
Eine Selectbox leeren und ne andere auffüllen Igäl HTML, Usability und Barrierefreiheit 2 16.06.2005 14:49
multiline textbox Masteroi PHP Tipps 2005-2 12 05.06.2005 10:45
JS - Überprüfen einer SelectBox patr1k HTML, Usability und Barrierefreiheit 1 31.05.2005 12:10
Plausiprüfung bei submit PHP Tipps 2005 2 27.05.2005 11:14
button (submit) ->action auf https PHP Tipps 2005 7 18.04.2005 18:32
problem mit selectbox PHP Tipps 2005 1 17.03.2005 12:26
input + submit ? HTML, Usability und Barrierefreiheit 9 27.02.2005 23:31
Submit als Link Bronks HTML, Usability und Barrierefreiheit 2 03.01.2005 15:44
[b]text automatisch bei submit in textfeld einfügen[/b] PHP Tipps 2004-2 10 05.12.2004 13:44
Greenhorn: Reload einer IMG-Datei nach SUBMIT einer Form PHP Tipps 2004 3 20.09.2004 21:19
selectbox auslesen PHP Tipps 2004 3 09.09.2004 15:16
Form nach submit PHP Tipps 2004 1 02.06.2004 13:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php select an textbox, textbox submit, felder aus textbox in selectbox

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:59 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.