 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
01.11.2005, 14:53
|
#1
|
|
TP-Junior
Registriert seit: Nov 2005
|
Problem mit Formular ( PHP / SQL )
ich versuche ein formular zu erstellen, mit dem man daten in die mysql datenbank eintragen kann.
PHP-Code:
<?php
error_reporting(E_ALL);
include 'config.php';
$anummer = $_POST["anummer"];
$aname = $_POST["aname"];
$abeschreibung = $_POST["abeschreibung"];
$abild = $_POST["abild"];
$akategorie = $_POST["akategorie"];
?>
<form name="anummer" method="post">
<label>Artikelnummer
<input name="anummer" type="text" id="anummer">
</label>
</form>
<form name="aname" method="post">
<label>Artikelname:
<input name="aname" type="text" id="aname">
</label>
</form>
<form name="akategorie" method="post">
<label>Artikelkategorie:
<select name="select">
<option>Badteppiche Classic Multicolours</option>
<option>Badteppiche Classic Unis</option>
<option>Badteppiche Clasic Cotton Collection</option>
<option>Badteppiche Classic Creativo Design</option>
<option>Duschvorhang Textil</option>
<option>Duschvorhang Vinyl</option>
<option>Duschvorhang Peva</option>
<option>Sicherheitseinlagen</option>
<option>Dekor</option>
<option>Accessoires</option>
</select>
</label>
</form>
<form name="abeschreibung" method="post">
<label>Artikelbeschreibung:
<input name="abeschreibung" type="text" id="abeschreibung">
</label>
</form>
<form name="abild" method="post">
<label>Artikelbild:
<input name="abild" type="text" id="abild">
</label>
URL zum gewünschten Bild eingeben.
</form>
<form name="submit" method="post" action="">
<label></label>
<input type="submit" name="Submit" value="Senden">
</form>
<p> </p>
<?php
$eintrag = "INSERT into artikel (
artname,
artkategorie,
artnummer,
artbeschreibung,
artbild
)
VALUES (
'$aname',
'$akategorie',
'$anummer',
'$abeschreibung',
'$abild'
)";
if(isset($_POST['Submit']))
{
mysql_select_db("wolke");
mysql_query($eintrag) or die(mysql_error());
}
?>
Fehlermeldung:
Code:
Notice: Undefined index: aname in d:\phpdev5\www\phptest\test2.php on line 5
Notice: Undefined index: abeschreibung in d:\phpdev5\www\phptest\test2.php on line 6
Notice: Undefined index: abild in d:\phpdev5\www\phptest\test2.php on line 7
Notice: Undefined index: akategorie in d:\phpdev5\www\phptest\test2.php on line 8
hab auch schon im forum rumgeblättert und konnte dazu nix finden, wäre nett , wenn jemand helfen würde.
MFG
|
|
|
01.11.2005, 15:53
|
#2
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Die Fehlermeldungen sind nur Benachrichtigungen, dass eine Variable noch nicht existiert - es sind keine "Fehler".
Entferne diese Zeile:
error_reporting(E_ALL);
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
01.11.2005, 16:18
|
#3
|
|
TP-Junior
Registriert seit: Nov 2005
|
funzt net , wie bring ich den dazu das er die daten aus dem formular in die db packt.
|
|
|
01.11.2005, 16:33
|
#4
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Du hast ja auch nicht eine Form sondern für jedes Feld eins
mach eine Form draus, dann klappts auch
HTML-Code:
<form name="formular" method="post">
<label>Artikelnummer</label>
<input name="anummer" type="text" id="anummer">
<label>Artikelname: </label>
<input name="aname" type="text" id="aname">
<label>Artikelkategorie:</label>
<select name="select">
<option>Badteppiche Classic Multicolours</option>
<option>Badteppiche Classic Unis</option>
<option>Badteppiche Clasic Cotton Collection</option>
<option>Badteppiche Classic Creativo Design</option>
<option>Duschvorhang Textil</option>
<option>Duschvorhang Vinyl</option>
<option>Duschvorhang Peva</option>
<option>Sicherheitseinlagen</option>
<option>Dekor</option>
<option>Accessoires</option>
</select>
<label>Artikelbeschreibung: </label>
<input name="abeschreibung" type="text" id="abeschreibung">
<label>Artikelbild: </label>
<input name="abild" type="text" id="abild">
URL zum gewünschten Bild eingeben.
<input type="submit" name="Submit" value="Senden">
</form>
Du hattest so einige Fehler drin - schau Dir unter SelfHTML nochmal den Aufbau eines Formulars an 
Geändert von steffenk (01.11.2005 um 16:47 Uhr).
|
|
|
02.11.2005, 08:31
|
#5
|
|
TP-Junior
Registriert seit: Nov 2005
|
thx für die hilfe.
funzt zwar jetzt aber er übernimmt in die DB nur $_POST["abild"] wer ne idee?
|
|
|
02.11.2005, 10:12
|
#6
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
jenachdem was da vorkommt solltest Du die posts so auslesen:
$aname = get_magic_quotes_gpc() ? $_POST["aname"] : addslashes($_POST["aname"]);
|
|
|
02.11.2005, 10:42
|
#7
|
|
TP-Junior
Registriert seit: Nov 2005
|
habs jetzt hinbekommen, jetzt is nur noch ein problem da, ich bekomm nen notice
Code:
Notice: Undefined index: anummer in d:\phpdev5\www\phptest\test4.php on line 4
Notice: Undefined index: aname in d:\phpdev5\www\phptest\test4.php on line 5
Notice: Undefined index: abeschreibung in d:\phpdev5\www\phptest\test4.php on line 7
Notice: Undefined index: abild in d:\phpdev5\www\phptest\test4.php on line 8
Notice: Undefined index: akategorie in d:\phpdev5\www\phptest\test4.php on line 9
PHP-Code:
<?php
error_reporting(E_ALL);
include 'config.php';
$anummer = $HTTP_POST_VARS["anummer"];
$aname = $HTTP_POST_VARS["aname"];
$abeschreibung = $HTTP_POST_VARS["abeschreibung"];
$abild = $HTTP_POST_VARS["abild"];
$akategorie = $HTTP_POST_VARS["akategorie"];
?>
<br /><br /><form name="formular" method="POST">
<table width="672" border="0">
<tr>
<td>Artikelnummer</td>
<td><input name="anummer" type="text" id="anummer" /></td>
<td>gerade Zahlen eingeben </td>
</tr>
<tr>
<td>Artikelname:</td>
<td><input name="aname" type="text" id="aname" /></td>
<td> </td>
</tr>
<tr>
<td><label>Artikelkategorie:</label></td>
<td><select name="akategorie" id="aktegorie">
<option>Badteppiche Classic Multicolours</option>
<option>Badteppiche Classic Unis</option>
<option>Badteppiche Clasic Cotton Collection</option>
<option>Badteppiche Classic Creativo Design</option>
<option>Duschvorhang Textil</option>
<option>Duschvorhang Vinyl</option>
<option>Duschvorhang Peva</option>
<option>Sicherheitseinlagen</option>
<option>Dekor</option>
<option>Accessoires</option>
</select></td>
<td> </td>
</tr>
<tr>
<td>Artikelbeschreibung:</td>
<td><input name="abeschreibung" type="text" id="abeschreibung" /></td>
<td> </td>
</tr>
<tr>
<td>Artikelbild:</td>
<td><input name="abild" type="text" id="abild" /></td>
<td>URL zum gewünschten Bild eingeben. </td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Senden" /></td>
</tr>
</table>
</form>
<?php
$eintrag = "INSERT into artikel (
artname,
artkategorie,
artnummer,
artbeschreibung,
artbild
)
VALUES
(
'$aname',
'$akategorie',
'$anummer',
'$abeschreibung',
'$abild'
)";
if(isset($_POST['Submit']))
{
mysql_select_db("wolke");
mysql_query($eintrag) or die(mysql_error());
}
?>
</p>
|
|
|
02.11.2005, 10:48
|
#8
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
pack den Block mit den auszulesenden Variablen in die Bedingung
if(isset($_POST['Submit']))
|
|
|
02.11.2005, 11:39
|
#9
|
|
TP-Junior
Registriert seit: Nov 2005
|
funzt jetzt 1 A , dank dir 
|
|
|
03.11.2005, 10:20
|
#10
|
|
TP-Junior
Registriert seit: Nov 2005
|
hab jetzt nen anderes prob ich geb sämtliche artikel in einer tabelle aus , wie bekomme ich es hin das er nur ~10 pro seite anzeigt und unten auf die nächste seite verweist?
PHP-Code:
echo "<table width=\"100%\" border=\"1\"> <tr> <td width=\"20%\">Artikelnummer</td> <td width=\"20%\">Artikelkategorie</td> <td width=\"20%\">Artikelname</td> <td width=\"20%\">Artikelbeschreibung</td> <td width=\"20%\">Artikelbild</td>";
while($row = mysql_fetch_assoc($result)) { echo "<tr> <td width=\"20%\">".$row['artnummer']."</td> <td width=\"20%\">".$row['artkategorie']."</td> <td width=\"20%\">".$row['artname']."</td> <td width=\"20%\">".$row['artbeschreibung']."</td> <td width=\"20%\"><div align=\"center\"><img src=\"".$row['artbild']."\" \"width=100\" heigth=\"100\"/></div></td> </tr>"; } /**und erst hier tabelle schliessen nach allen rows */ echo "</table>";
|
|
|
03.11.2005, 10:34
|
#11
|
|
TP-Member
Registriert seit: Oct 2005
|
die lösung ist ein LIMIT in deiner SELECT klausel.
PHP-Code:
mysql_query("SELECT * FROM table LIMIT $offset,10")
$offset wäre hierbei dann der startwert
also
Seite 1: $offset = 0
Seite 2: $offset = 10
...usw.
um die seitenzahl zu bekommen, lässt du die gesamten einträge der table counten (ich benutze gleiche mal die ganzen begriffe  )
danach teilst du die zahl durch die anzuzeigenden "werte" pro seite, in deinem fall 10.
also
PHP-Code:
$seiten = int($max_entries/10);
gibt dir eine ganzezahl aus (da durch das teilen auch kommazahlen entstehen)
PHP-Code:
echo "<table width=\"100%\" border=\"1\">
<tr>
<td width=\"20%\">Artikelnummer</td>
<td width=\"20%\">Artikelkategorie</td>
<td width=\"20%\">Artikelname</td>
<td width=\"20%\">Artikelbeschreibung</td>
<td width=\"20%\">Artikelbild</td>";
$result = mysql_query("SELECT * FROM table LIMIT $_GET['offset'],10");
// $_GET['offset'] wird aus der adresse ausgelesen zb: /usr/web/index.php?offset=0
// $_GET['offset'] wird durch den link auf die nächste seite gesetzt
while($row = mysql_fetch_assoc($result))
{
echo "<tr>
<td width=\"20%\">".$row['artnummer']."</td>
<td width=\"20%\">".$row['artkategorie']."</td>
<td width=\"20%\">".$row['artname']."</td>
<td width=\"20%\">".$row['artbeschreibung']."</td>
<td width=\"20%\"><div align=\"center\"><img src=\"".$row['artbild']."\" \"width=100\" heigth=\"100\"/></div></td>
</tr>";
}
echo "<tr><td width=\"100%\">Seite: ";
for($i=1; $i<=$seiten; $i++) {
echo "<a href=\"index.php?offset=". $_GET['offset']+10 ."\">". $i ."</a>";
}
echo "</td></tr>";
/**und erst hier tabelle schliessen nach allen rows */
echo "</table>";
so das sollte helfen 
wenn ich was vergessen hab könnt ihr mich gern berichtigen 
Geändert von cinteX (03.11.2005 um 10:40 Uhr).
|
|
|
03.11.2005, 10:45
|
#12
|
|
TP-Junior
Registriert seit: Nov 2005
|
thx werd ich ma probieren 
|
|
|
03.11.2005, 10:52
|
#13
|
|
TP-Junior
Registriert seit: Nov 2005
|
bekomm nen error:
Code:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in d:\phpdev5\www\phptest\index.php on line 30
zeile 30
PHP-Code:
$result = mysql_query("SELECT * FROM artikel ORDER BY 'artkategorie', 'artname' LIMIT $_GET['offset'],10") OR die(mysql_error());
|
|
|
03.11.2005, 10:55
|
#14
|
|
TP-Member
Registriert seit: Oct 2005
|
ah natürlich 
sry
PHP-Code:
$result = mysql_query("SELECT * FROM artikel ORDER BY 'artkategorie', 'artname' LIMIT ". $_GET['offset'] .",10") OR die(mysql_error());
versuchs mal so
|
|
|
03.11.2005, 10:57
|
#15
|
|
TP-Junior
Registriert seit: Nov 2005
|
Code:
Notice: Undefined index: offset in d:\phpdev5\www\phptest\index.php on line 30

|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
< | | |