WinFuture-Forum.de: Textfeld Nimmt Wert Nicht An - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Textfeld Nimmt Wert Nicht An oder kann es nicht ausgeben....


#1 _TheToxic_

  • Gruppe: Gäste

geschrieben 03. Juni 2005 - 13:16

Hi!

Und schon wieder ein Problem..

Ein textfeld nimmt bei mir einen Wert nicht an...

Bsp.
echo"<input type=text name='uH' value=Hersteller></input><br>";


ich nutze 'uH' später noch für eine datenbankabfrage...

$d="update lizenzen set hersteller='$uH', programm='$uP', version='$uV', Lkey='$uLk',         PC='$uPC' where id='$zahl[1]';";
    $result = mysql_query ($d) or die ("Query failed");


Wo ist da der Fehler?

MFG TOXIC
0

Anzeige



#2 Mitglied ist offline   Meatwad 

  • Gruppe: aktive Mitglieder
  • Beiträge: 784
  • Beigetreten: 07. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bad Vilbel
  • Interessen:Computer, Inliner, Chatten...

geschrieben 03. Juni 2005 - 13:25

hast du register_globals auf deinem server on? und mach mal bei dem input das so:
echo'<input type=text name='uH' value="Hersteller"></input><br>';

I am away to look for my self. If I am back before I return keep me here. | Mein Server
0

#3 _TheToxic_

  • Gruppe: Gäste

geschrieben 03. Juni 2005 - 13:27

register_globals?

ich weiss dass es alles auf ner internen datenbank über xampp läuft... mehr kann ich dir nicht sagen
0

#4 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.476
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 03. Juni 2005 - 13:39

1.) Schreibe es so:
<input type="text" name="uH" value="Hersteller">

Du musst den Input nicht wieder "schließen".

2.) Und hier so:
$d="UPDATE lizenzen SET hersteller="$_POST['uH']", programm='$_POST['uP']', version='$_POST['uV']', Lkey='$_POST['uLK']', PC='$_POST['uPC']' where id='$zahl[1]';";

$result = mysql_query($d) or die ("Query failed");


Du musst bei einem Formular die Werte, die in den Text-Input eingegeben wurden immer per $_POST-Variable übergeben, damit PHP weiß, dass die Werte per Formular übergeben wurden!

//EDIT:
Und das hat nichts mit register_globals zu tun... vergesse das :D
War ein Fehler im Code!

Dieser Beitrag wurde von Slayer bearbeitet: 03. Juni 2005 - 13:41

Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#5 _Benjamin_

  • Gruppe: Gäste

geschrieben 03. Juni 2005 - 13:45

Zitat (Slayer: 03.06.2005, 14:39)

Und das hat nichts mit register_globals zu tun... vergesse das :D

nicht ganz den bei der weiterleitung von daten an eine datei zum auslesen reicht es im normalfall $variable anzugeben. was zwar nicht richtig gut währe, aber es sollte funktionieren ...
0

#6 _TheToxic_

  • Gruppe: Gäste

geschrieben 03. Juni 2005 - 13:45

Die Variablen im Eingabefeld werden aber nicht wargenommen.
Habe es über echo´s ausprobiert bzw. mit abfragen der jeweilgen variablen.... kam aber nix raus...
0

#7 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.476
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 03. Juni 2005 - 13:50

Zitat (Benjamin: 03.06.2005, 14:45)

nicht ganz den bei der weiterleitung von daten an eine datei zum auslesen reicht es im normalfall $variable anzugeben. was zwar nicht richtig gut währe, aber es sollte funktionieren ...
<{POST_SNAPBACK}>

Ja schon, wobei register_globals ein hohes Sicherheitsrisiko ist!
Und bei Formularen reichen die Werte per Variable...

Zitat (TheToxic: 03.06.2005, 14:45)

Die Variablen im Eingabefeld werden aber nicht wargenommen.
Habe es über echo´s ausprobiert bzw. mit abfragen der jeweilgen variablen.... kam aber nix raus...
<{POST_SNAPBACK}>

Wieso echo?
Ich schreibe dir heute Abend mal, wenn ich Zuhause bin, wie so ein Formularfeld mit übergebener Variable und Eintrag/Update der Datenbank richtig aussieht, OK?!

Bin ATM nur am Arbeiten...
Es geht auf jeden Fall :D
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#8 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 03. Juni 2005 - 14:40

Zitat

Du musst den Input nicht wieder "schließen".


Bei HTML nicht, bei XHTML schon. Also dann so <input type="..." ... />

Zitat

Du musst bei einem Formular die Werte, die in den Text-Input eingegeben wurden immer per $_POST-Variable übergeben, damit PHP weiß, dass die Werte per Formular übergeben wurden!


Nicht immer. Formulare können auch per GET übertragen werden :D
0

#9 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.476
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 03. Juni 2005 - 15:13

Zitat (Floele: 03.06.2005, 15:40)

Bei HTML nicht, bei XHTML schon. Also dann so <input type="..." ... />
Nicht immer. Formulare können auch per GET übertragen werden :D
<{POST_SNAPBACK}>

Also zu dem Oberen: Ich meinte, dass er es nicht mit </input> schließen braucht, aber du hast schon Recht. Muss man aber so nicht...

Zu dem Unteren: Ja, Formularwerte können auch per $_GET übermittelt werden, aber nicht, wenn er sie in die Datenbank eintragen will. Da ist $_POST das Richtige ;)

Dieser Beitrag wurde von Slayer bearbeitet: 03. Juni 2005 - 15:42

Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#10 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 03. Juni 2005 - 15:26

Zitat

aber nicht, wenn er sie in die Datenbank eintragen will. Da ist $_POST das Richtige wink.gif


Doch. GET kann man auch dafür benutzten. Manchmal ist es sinnvoll, manchmal auch nicht. POST ist in der Regel aber vorzuziehen.
0

#11 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.476
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 03. Juni 2005 - 15:43

So @TheToxic nun zu deinem Formular, das in die DB eingetragen werden soll.
Ich habe dir unten mal ein Beispiel, wie es aussehen sollte in der Richtigen Form.
Zunächst mal das Formular selbst (am Besten in eine externe HTML-Datei):

<form action="?eintragen" method="post">
<input type="text" size="20" name="beispiel_01" value="Beispiel Nr.1">
<input type="text" size="20" name="beispiel_02" value="Beispiel Nr.2">
<textarea cols="40" rows="10" name="beispiel_03">Beispiel Nr.3</textarea>

<input type="submit" value="Abschicken">
<input type="reset" value="Zurücksetzen">
</form>


Das sind jetzt nur Beispielfelder, die du natürlich ändern musst. Ich mache dir das jetzt mal so, dass du den Sinn verstehst, wie es geht.
So nun wird dieses Formular ja mit dem "Submit"-Button abgesendet an "?eintragen".
Hier nun der PHP-Schritt, der die eingegebenen Werte an Variablen üergibt und dann in die Datenabm einträgt:

if(isset($_GET['eintragen']))
{
	// Die übergebenen Formularwerte werden zuerst in POST-Variablen gespeichert
	// HTML-Zeichen werden aus Sicherheitsgründen umgewandelt
    $beispiel_01 = mysql_real_escape_string(htmlentities($_POST['beispiel_01']));
    $beispiel_02 = mysql_real_escape_string(htmlentities($_POST['beispiel_02']));
    $beispiel_03 = mysql_real_escape_string(htmlentities($_POST['beispiel_03']));

	// Jetzt werden diese übergebenen Daten mit den entsprechenden Variablen in die Datenbank eingetragen
	$eintrag = mysql_query("INSERT INTO tabelle (spalte_01, spalte_02, spalte_03) VALUES ('$beispiel_01', '$beispiel_02', '$beispiel_03')");

	// Jetzt wird überprüft ob der Eintrag erfolgreich war und dann wird eine Bestätigung ausgegeben

	if($eintrag == true)
	{
  echo 'Die Daten wurden erfolgreich in die Datenbank eingetragen!';
	}
	else
	{
  echo 'Es ist ein Fehler aufgetreten!';
	}
}


(leider wird der CODE hier im Forum nicht schön formatiert angezeigt, aber ich habe ihn dir mal noch als Screenshot in richtiger Formatierung :D

Das ist nun das Grundprinzip.
Hier wird in die Datenbank eingetragen.
Wie du die Datenbank updatest, das weißt du ja und dazu musst du ja nur den mysql_query(); ändern.

Versuche es mal und berichte mir, ob du es verstanden hast.
Ansonsten helfe ich dir gerne weiter!

Angehängte Miniaturbilder

  • Angehängtes Bild: code_formular.gif

Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0