php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.07.2008, 09:37  
Neuer Benutzer
 
Registriert seit: 04.07.2008
Beiträge: 8
trash befindet sich auf einem aufstrebenden Ast
Standard Problem mit kleiner Abfrage

Guten Tag,

ich versuche ein kleines PHP Projekt zu realisieren und habe ein Problem mit der Auswertung von zwei Komponenten.

Es soll folgendermaßen funktionieren:
Ich rufe eine PHP Seite auf und wähle dort aus einem Dropdownmenü einen Benutzer aus. Darunter gebe ich in ein Textfeld eine Aufgabe für ihn ein und schicke sie mit einem SubmitButton ab. Daraufhin wird der Benutzername und der Text aus dem Textfeld in eine SQL Datenbank geschrieben.

Die Benutzer werden aus der Datenbank heraus in das Dropdownmenü geschrieben, was auch bereits funktioniert. Diese PHP Seite ist eingebettet in eine größere Struktur, daher existieren bereits Benutzer etc. Ich wusste nicht genau wie ich ein Textfeld kreiere und habe daher auf ein simples zurückgegriffen. Das Problem ist jetzt, dass ich dem "Submit"button sagen muss, dass die Daten die im Dropdownmenü selektiert sind (1 Benutzer) und die Aufgabe (1 Text im Textfeld) in die Datenbank geschrieben werden sollen.

Folgendes habe ich versucht:


PHP-Code:
<?php
//Verbindung zur DB
$verbindung mysql_pconnect"localhost""Benutzername""Passwort");
                        if (!
$verbindung
                        {
                        exit;
                        }
                        
mysql_select_db("promo");
?>
<form method="post" onsubmit="return writetask()">
<select name="menu1" class="textklein" onChange="MM_jumpMenu('parent',this,0)">
<option>&raquo; Benutzer waehlen</option>
<?php $query =mysql_query("SELECT name FROM jos_users");
while ( 
$row mysql_fetch_array($query)){
echo 
"<option value=\"".$row['name']."\">".$row['name']."</option>";
}
?>
</select>
<br>
<!//Textfeld->
Auftrag:<br>
<textarea name="$message" cols="25" rows="8"></textarea>
<br>
<input type="submit" value="Auftrag abschicken">
</center>
</form>

<?php 
function writetask()
    {
global 
$database;           
$query "CREATE TABLE IF NOT EXISTS `#__usertasks` (  `username` varchar (25), `task` varchar (25))"//erstmal tabelle anlegen
  
$database->setQuery$query );
    }
?>
Das Darstellen der Benutzer in DropdownForm funktionier. Das Erstellen Datenbankeinträge nicht.
Ich würde mich sehr freuen, wenn mir jemand ein wenig helfen könnte.
Vielen Dank schon Mal!

Geändert von trash (04.07.2008 um 09:49 Uhr).
trash ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.07.2008, 10:26  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

onsubmit="return writetask()"> ist ein Javascript- kein PHP-Event!
phpdummi ist offline  
Alt 04.07.2008, 11:26  
Neuer Benutzer
 
Registriert seit: 04.07.2008
Beiträge: 8
trash befindet sich auf einem aufstrebenden Ast
Standard

Jo, das stimmt. Wie ruf ich denn über einen Submitbutton eine Php-Funktion auf?
Btw: Ist meine Funktion so überhaupt zu gebrauchen?

PHP-Code:
<?php 
function writetask()
    {
global 
$database;           
$query "CREATE TABLE IF NOT EXISTS `#__usertasks` (  `username` varchar (25), `task` varchar (25))"//erstmal tabelle anlegen
  
$database->setQuery$query );
    }
?>
trash ist offline  
Alt 04.07.2008, 11:33  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Wenn du das formular abschickst kannst du es in etwa so machen:
PHP-Code:
$send = ( ! empty( $_POST'send' ] ) ) ? true false;

if ( 
$send )
  
writetask( ); 
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 04.07.2008, 11:33  
Benutzer
 
Registriert seit: 02.07.2008
Beiträge: 31
stinger133 befindet sich auf einem aufstrebenden Ast
Standard

Gib doch in deinem Formular einfach versteckt eine Variable mit. Diese kannst du dann mit PHP auslesen und ggf. mit einem Event reagieren.

Im Formular:
PHP-Code:
<input type="hidden" name="php-funktion" value="true"
Auslesen per PHP:
PHP-Code:
if($_REQUEST["php-funktion"]==true)
{
   ...
//Hier kommt deine PHP-Funktion


Geändert von stinger133 (04.07.2008 um 11:34 Uhr). Grund: hatte mich vertippt
stinger133 ist offline  
Alt 04.07.2008, 12:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von stinger133 Beitrag anzeigen
PHP-Code:
<input type="hidden" name="php-funktion" value="true"
Sicher, dass der Bindestrich ein gültiger Attributbestandteil ist?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 04.07.2008, 13:53  
Neuer Benutzer
 
Registriert seit: 04.07.2008
Beiträge: 8
trash befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antworten!
Ich verzettel mich hier immer weiter und bau vermutlich mehr Fehler ein, als ich behebe. Daher ist hier mein Quelltext. Vielleicht hat ja einer von euch einen Moment Zeit um mal zu schaun, wo sich die haarigsten Fehler befinden.

PHP-Code:
<html>
<head>
</HEAD>
<title>Submit task</title>
<body>

<?php
   $verbindung 
mysql_pconnect"localhost""sqlbenutzername""sqlpasswort");
   if (!
$verbindung
   {
   exit;
   }
   
mysql_select_db("promo");

   function 
writetask()
   {
   
$query "CREATE TABLE IF NOT EXISTS `#__usertasks` (  `username` varchar (25), `task` varchar (25))";
   
$verbindung->setQuery$query );
   }
   
?>

<form method="post" onsubmit="phpfunktion">
  <select name="menu1" class="textklein" onChange="MM_jumpMenu('parent',this,0)">
    <option>&raquo; Benutzer waehlen</option>
    <option>---------------------------</option>
    <?php 
       $query 
=mysql_query("SELECT name FROM jos_users");
       while ( 
$row mysql_fetch_array($query)){
       echo 
"<option value=\"".$row['name']."\">".$row['name']."</option>";
       }
       
?>
  </select>
  <br>

Auftrag:
<br>
<textarea name="$message" cols="25" rows="8"></textarea>
<br>
<input type="hidden" name="phpfunktion" value="true">
<input type="submit" value="Auftrag abschicken" onsubmit="phpfunktion">
</form>
</body>
</html>

Geändert von trash (04.07.2008 um 14:11 Uhr).
trash ist offline  
Alt 04.07.2008, 14:18  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Vergiss einfach mal das onsubmit, da kannst du keine PHP-Funktion aufrufen. Sondern du übergibst eine Variable, die du dann im Script selber wieder überprüfen kannst. Befasse dich doch erst mal ein wenig mit den Grundlagen der Formularverarbeitung. Und lese auch mal den Abschnitt über Fehlerhandling in den Forumsregeln.
__________________
Gruss
L
lazydog ist offline  
Alt 04.07.2008, 14:25  
Neuer Benutzer
 
Registriert seit: 04.07.2008
Beiträge: 8
trash befindet sich auf einem aufstrebenden Ast
Standard

ok, danke
trash ist offline  
Alt 05.07.2008, 02:48  
Neuer Benutzer
 
Registriert seit: 05.06.2008
Beiträge: 29
Blue-Dragon befindet sich auf einem aufstrebenden Ast
Standard

Oder noch einfacher: Dein Submit-Button bekommt nen Namen und du sparst dir die Hidden Var und überprüfst, ob (bei <input type="submit" name="schicken" value="Senden") $_POST['schicken'] denn "Senden" ist.
Blue-Dragon 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
[Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage tomtaz Datenbanken 5 24.06.2008 22:36
Abfrage Problem mastermix Datenbanken 2 06.08.2007 11:45
[Erledigt] Problem mit Abfrage Datenbanken 0 20.10.2005 17:02
[MySQL] Problem mit einer verschachtelten Abfrage aktionkuba Datenbanken 7 06.04.2005 14:07
Problem mit abfrage. PHP Tipps 2005 13 30.03.2005 18:00
Problem mit abfrage und co PHP Tipps 2005 6 29.03.2005 16:38
Problem bei benutzername und passwort abfrage ? PHP Tipps 2005 4 15.03.2005 17:29
Abfrage Problem (vermute ich) PHP Tipps 2004-2 3 14.12.2004 22:21
[Erledigt] Abfrage LIMIT Problem Datenbanken 9 08.12.2004 19:05
Problem mit abfrage Datenbanken 8 05.12.2004 12:46
Problem mit einer SQL Abfrage picco PHP Tipps 2004-2 3 01.12.2004 22:32
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
[Erledigt] problem mit sql abfrage PHP Tipps 2004-2 6 13.11.2004 19:41
Problem mit SQL Abfrage Schiedsrichter Datenbanken 2 02.08.2004 07:52
Abfrage Problem (addition nicht mehr möglich?) Datenbanken 2 30.07.2004 15:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php submit button abfragen, submit button abfragen, php formular button abfragen, submit abfragen php, sql abfrage mittels php textfeld, php form button abfragen, php abfrage welcher button send, php write into db onsubmit, dropdown db textbox onchange, php anfrage von textfeld an die db, sql abfrage php textfeld onsubmit, php verschachtelte formularabfrage, php if not abfrage, php abfrage task, submit datenbank, php sql query mit php funktion, formular abfrage über php send button, ie input submit php abfragen, \ button abfragen in php \, onsubmit select im formular

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