php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.01.2005, 17:53  
Gast
 
Beiträge: n/a
Standard Eingabeformular

Hi @ll,

ich habe ein Problem mit einem Eingabeformular.
Ich habe eine HTML-Datei gebastelt, in dem das Eingabeformular selbst drin ist und eine PHP-Datei, in der die Datenbankprozedur drin ist.
Die HTML-Datei sieht folgendermassen aus:
PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
title>MOE-Database</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
link rel="stylesheet" type="text/css" href="blau.css"/>
</
head>
<
body>
[
img]titel_z.gif[/img]


<
table class="inhalt" border="0">
    <
tr>
      <
td valign="top" align="left" width="5"></td>
      <
td valign="top" align="left" style="padding-top: 15px;"><h3>Countries Enter a new record</h3></td>
    </
tr>
</
table>
<
table class="inhalt" border="0">
<
form action ="Countries_n.php" method "post">
<
tr><td>Countrys name: <td> <input name "pa"ExampleBulgaria</tr>

<
tr><td>ISO short: <td> <input name "pb"ExampleBG</tr>

<
tr><td>ISO long: <td> <input name "pc"ExampleBUL</tr>

<
tr><td>Date of independence: <td> <input name "pd"Example19900101</tr>

<
tr><td>Date of inception of the first free constitution: <td> <input name "pe"Example19900301</tr>

<
tr><td>Date of the first free election: <td> <input name "pf"Example19900815</tr>

</
table>
<
input type "submit">
<
input type "reset">
</
form>
</
body>
</
html
Die PHP-Datei sieht so aus:
PHP-Code:
<html>
<body>
<?
include "security/access.inc";
$db mysql_connect ($host,$user,$pw)
or exit (
"Keine Verbindung hergestellt!");
mysql_select_db ("moe",$db)
or exit (
"Datenbank nicht geöffnet");
$sqlbef "insert into Countries (Country, ISO_short, ISO_long, Independence, First_free_constitution, First_free_election)
values ('$pa', '$pb', '$pc', '$pd', '$pe', '$pf')"
;
$sqlerg mysql_query($sqlbef$db);
IF (
$sqlerg)
ECHO 
"Record entry successful";
ELSE
ECHO 
"Rechord entry NOT successful";
?>
</body>
</html>
Die PHP-Datei funktioniert anscheinend. Ich habe das SQL-Skript gesondert geprueft und es funktioniert. Ersetzt man die Variablen durch feste Werte, werden diese ebenfalls in die Datenbank geschrieben. Dies deutet zudem daraufhin, dass die Datenbankanbindung auch funktioniert.
Daher bleibt nur noch die HTML-Datei als Fehlerquelle. Ich vermute, dass es an den Namen in <input name ... > liegt.
Kann mir da bitte jemand von euch helfen?
Vielen Dank!

Gruss,

Der Verzweifelte
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.01.2005, 18:01  
Erfahrener Benutzer
 
Registriert seit: 21.01.2005
Beiträge: 444
stf.stream
stf.stream eine Nachricht über ICQ schicken
Standard

Was ist denn nun dein Problem??
__________________
stf.
stf.stream ist offline  
Alt 24.01.2005, 18:04  
Gast
 
Beiträge: n/a
Standard

Sorry, das Problem besteht darin, dass die in das Formular der HTML-Datei eingegebenen Werte nicht in der Datenbanktabelle erscheinen. Allerdings wird der automatisch vergebene Primaerschluessel gesetzt, bloss die anderen Werte nicht uebertragen, sondern als fehlende Werte dargestellt.
 
Alt 24.01.2005, 18:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 646
Magic befindet sich auf einem aufstrebenden Ast
Standard

verwende $_POST['pe'] usw. Das deutet auf ein Problem mit den register Globals hin.

http://de.php.net/manual/de/reserved.variables.php
http://de.php.net/manual/de/security.globals.php
Magic ist offline  
Alt 24.01.2005, 18:08  
Erfahrener Benutzer
 
Registriert seit: 21.01.2005
Beiträge: 444
stf.stream
stf.stream eine Nachricht über ICQ schicken
Standard

...nehme an, das dein Server keine globale Variablenübergabe zulässt.
(Poste mal ´nen Link zu phpinfo()

genanntes Problem beheben:

anstelle beispielsweise
Code:
$pa
nimm
Code:
$_POST['pa']
.

stf...


(oh, zu spät... )
__________________
stf.
stf.stream ist offline  
Alt 24.01.2005, 18:13  
Gast
 
Beiträge: n/a
Standard

Das nimmt die Datenbank irgendwie auch nicht...
 
Alt 24.01.2005, 18:23  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 646
Magic befindet sich auf einem aufstrebenden Ast
Standard

Fehlersuche

Schreib in dem Script, das die Datenbankeinträge macht einfach mal folgendes rein:
PHP-Code:
<?
echo $pa."
"
;
echo 
"<pre>";
print_r ($_POST);
echo 
"</pre>";
?>
Wird $pa nicht angezeigt liegt es an o.g. register globals
Wird $_POST angezeigt verwende dies einfach
Magic ist offline  
Alt 24.01.2005, 18:38  
Gast
 
Beiträge: n/a
Standard

Hmh, wenn ich das so mache, kommt folgendes dabei raus:
Array
(
[pa] =>
[pb] =>
[pc] => BUL
[pd] =>
[pe] =>
[pf] =>
)

Record entry NOT successful
 
Alt 24.01.2005, 18:46  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 646
Magic befindet sich auf einem aufstrebenden Ast
Standard

values ('$pa', '$pb', '$pc', '$pd', '$pe', '$pf')";
ersetzt du mit:
Code:
values ('$_POST[pa]', '$_POST[pb]', '$_POST[pc]', '$_POST[pd]', '$_POST[pe]', '$_POST[pf]')";
Und klick mal oben auf die Links und lies es dir mal durch
Magic ist offline  
Alt 24.01.2005, 19:13  
Gast
 
Beiträge: n/a
Standard

Ja, so funktioniert es!
Vielen Dank!
Und viele Gruesse aus Lueneburg nach Hannover!
 
 


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
Probleme mit Eingabeformular... PHP Tipps 2007 2 14.12.2005 23:18
Eingabeformular Probleme mit Übergabe an Datenbank PHP Tipps 2005-2 4 12.10.2005 14:13
Problem mit Eingabeformular PHP Tipps 2005 23 08.04.2005 09:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html eingabeformular, eingabeformular php

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