PHP-Problem

merti

Mitglied
Hi hab da ein problem, schaut bitte mein Sourcecode an was mache ich da falsch?

Die Datenbank existiert auch - nur es wir kein einziger Datensatz gespeichert.
Die datei "conn.php" existiert auch.

Bitte um Hilfe,

bedanke mich im Vorraus,

Merti

<?
include ("conn.php");

$query_insert = "Select * from user";

?>
<html>
<head>
<title></title>
</head>
<body>
<?
if (empty($insert) && $insert) {
mysql_query("INSERT INTO user SET firma='$firma',titel='$titel',vorname='$vorname',nachname='$nachname',email='$email',tel='$tel',fax='$fax',strasse='$strasse',ort='$ort',plz='$plz',pin='$pin'") or die(mysql_error());
echo "Daten Erfolgreich gespeichert";
}
?>
<form action="insert.php" method="post">
<input type="hidden" value="insert" name="insert">
<table>
<tr>
<td>Firma</td>
<td><input type="text" name="firma"></td>
</tr>
<tr>
<td>Titel</td>
<td><input type="text" name="titel"></td>
</tr>
<tr>
<td>Vorname</td>
<td><input type="text" name="vorname"></td>
</tr>
<tr>
<td>Nachname</td>
<td><input type="text" name="nachname"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Tel</td>
<td><input type="text" name="tel"></td>
</tr>
<tr>
<td>Fax</td>
<td><input type="text" name="fax"></td>
</tr>
<tr>
<td>Strasse</td>
<td><input type="text" name="strasse"></td>
</tr>
<tr>
<td>Ort</td>
<td><input type="text" name="ort"></td>
<td>Plz</td>
<td><input type="text" name="plz" size=6></td>
</tr>
<tr>
<td>PIN</td>
<td><input type="password" name="pin"></td>
</tr>
<tr>
<td><input type="submit" name="insert" value="speichern"></td>
<td><input type="reset" value="löschen"></td>
</tr>
</table>
</form>
</body>
</html>
 
Deine Bedingung in der if-Abfrage ist auch falsch.

PHP:
if (empty($insert) && $insert)

Wenn $insert leer (also $insert=FALSE bzw empty($insert)==TRUE ) und $insert (also TRUE ist, sprich Inhalt hat) ist...
Sprich TRUE kann nie == noch === FALSE sein.

Verdeutlicht:

$insert = "abc";
empty($insert) --> FALSE
$insert --> TRUE

$insert = "";
empty($insert) --> TRUE
$insert --> FALSE



Woher kommt $insert eigentlich? Sollte dies ein übergebener Parameter sein bitte mit $_GET oder $_POST auslesen!

Was soll eigentlich $insert_query sein? Zumal sich logisch Insert und Select widerspricht ;)
 
Zuletzt bearbeitet:
Wenn dann muss es so lauten:

PHP:
<?php

$irgendwas = "INSERT INTO tabelle (id,tabelle1,.....) VALUES ('$id','$tabelle',....)";
$verarbeiten = mysql_query($irgendwas);

?>
 
Also jetzt sieht es so aus -- aber funkt noch imme nicht

lg, merti

<?
include ("conn.php");
$insert = " ";
?>
<html>
<head>
<title></title>
</head>
<body>
<?
if (empty($insert) && $insert) {
mysql_query("INSERT INTO user (firma,titel,vorname,nachname,email,tel,fax,strasse,ort,plz,pin) VALUES('$firma','$titel','$vorname','$nachname','$email','$tel','$fax','$strasse','$ort','$plz','$pin'") or die(mysql_error());
echo "Daten Erfolgreich gespeichert";
}
?>
<form action="insert.php" method="post">
<input type="hidden" value="insert" name="<?=$_POST['insert']?>">
<table>
<tr>
<td>Firma</td>
<td><input type="text" name="firma"></td>
</tr>
 
Wie heißt denn deine Datei, deren Quellcode Du hier gepostet hast und was steht in der insert.php (die rufts Du ja mit dem Formular auf) ?
 
Dann kannste doch auch
PHP:
<form action="<?php $_PHP_SELF ?>" method="post">
schreiben, oder ist das egal?
 
danke das auch mein Post gelesen wird.
Denn wie soll man denn in den Anweisungsblock einer unerreichbaren if-Bedingung kommen?

Die Frage ist was du mit dem $insert überhaupt willst bzw. wo es herkommt.
Du hast es zwar nun mit einem Leerzeichen gefüllt, was aber dennoch die wiedersprüchliche Bedingung im if nicht erfüllen kann.
Daher entweder

if( $insert )
{...}

oder
if( !empty($insert) )
{...}



Zum INSERT kann es sowohl mit SET als auch in der "extended" Schreibweise (wie es phpMyAmin beim Exportieren nennt) schreiben, nämlich mit INSERT INTO (felder), VALUES (...), (....) usw
Letzteres ermöglicht leichteres Eintragen mehrerer Datensätze in die gleiche Tabelle.
 
Original geschrieben von Martys
Dann kannste doch auch
PHP:
<form action="<?php $_PHP_SELF ?>" method="post">

schreiben, oder ist das egal?

Das ist dahingehend egal, ob sich der Dateiname der Datei oft oder gar nicht ändert bzw. diese Datei in eine andere included wird, die letzendlich das ganze verarbeitet.
Wenn ich immer an script.php senden will, kann ich es auch absolut schreiben.
 
Zurück