Formular und Mysql

kesnw

Erfahrenes Mitglied
Formular und Mysql: HIIIIILFE

Großes Problem:

Ich möchte einfach nur die Feldinhalte per Klick auf den Submit-Button in eine vorhandene Datenbank speichern.

Wenn ich momentan auf "Submit" klicke passiert GAR NICHTS :(

Wo ist der Fehler?


Hier der PHP-Ausschnitt:
<?php
if ($send ==1){
$sql="INSERT INTO vendors (V_ID,V_Name) VALUES ('$v_id','$v_name');";
@mysql_query($sql);
}

echo "<form action='$PHP_SELF' method='POST'>";
$db_host = "***";
$db_user = "***";
$db_pass = "***";
$datab = "***";
$login = "RVA0001";


/* Verbindung zur Datenbank aufbauen */
$db = @mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
@mysql_select_db($datab,$db) or die(mysql_error());

$v_id=mysql_result(@mysql_query("SELECT V_ID FROM vendors where V_ID='$login'"),0 ,0);

$v_name=mysql_result(@mysql_query("SELECT V_Name FROM vendors where V_ID='$login'"), 0, 0);

echo " Lieferanten ID:";
echo " <input type='text' name='name' value='$v_id'>\n";


echo "<br>\n";
echo "<br>\n";

echo " Lieferanten Name:";
echo " <input type='text' name='name' value='$v_name'>\n";

echo "<br>\n";
echo "<br>\n";
echo "<input type='submit' value ='Weiter'>";
echo "<input type='reset' value='Reset'> ";
echo "</form>";
?>
 
Welche PHP Variante nützt du, evtl nach 4.3 ?

Dann probier bitte mal folgendes :

PHP:
<?php
if ($_POST["send"] ==1){
$sql="INSERT INTO vendors (V_ID,V_Name) VALUES ('$_POST["v_id"]','$_POST["v_name"]');";
@mysql_query($sql);
}

Bei neueren PHP Versionen bitte immer $_POST["name"]
für Variablen aus Formularen benutzen. Bzw. $_GET["name"]
wenn du GET als Methode benutzt.

Jonathan
 
Danke,

aber irgendwie springt der einfach nicht ins "if"...

Ich habe dort mit Java-Script ein kleines Fenster zum aufpoppen reinprogrammiert,

echo "<script Language='JavaScript'>";
echo "window.open('test.html','NAME-DES-FENSTERS','width=100,height=100');";
echo "</script>";

dieses poppt aber nict auf, somit denke ich wird die if-clause nie aufgerufen...

KAI
 
ich würde mal folgendes machen:

PHP:
<?php
$db_host = "***";
$db_user = "***";
$db_pass = "***";
$datab = "***";
$login = "RVA0001";
/* Verbindung zur Datenbank aufbauen */
$db = mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
mysql_select_db($datab,$db) or die(mysql_error());
if  ($send) {
$sql="INSERT INTO vendors (V_ID,V_Name) VALUES ('$v_id','$v_name');";
mysql_query($sql);
echo "Eingetragen!";
}
else {
echo "<form action='$PHP_SELF' method='POST'>";
$v_id=mysql_result(mysql_query("SELECT V_ID FROM vendors where V_ID='$login'"),0 ,0); 
$v_name=mysql_result(mysql_query("SELECT V_Name FROM vendors where V_ID='$login'"), 0, 0); 
echo " Lieferanten ID:"; 
echo " <input type='text' name='name' value='$v_id'>\n";
echo "<br>\n";
echo "<br>\n";
echo " Lieferanten Name:"; 
echo " <input type='text' name='name' value='$v_name'>\n";
echo "<br>\n";
echo "<br>\n";
echo "<input type='submit' value ='Weiter' name=send>";
echo "<input type='reset' value='Reset'> ";
echo "</form>";
}
?>

Slater
 
Sorry,

hab deinen Quelltext kopiert und es passiert NICHTS, NIENTE, NULL. So langsam verliere ich die Lust. Die if-clause wird einfach nicht angesprochen........
 
Mal was ganz anderes. Wie stelle ich fest ob Apache oder PHP richtig funktionieren? Folgende Anfrage geht auch nicht und das kann nicht sein:

<html>
<form action="<? echo $PHP_SELF; ?>" method="POST">
<input type="text" name="textfeld1">
<input type="submit" name="submit" value="Go!">
</form>
<?
if(isset($submit)){
echo $textfeld1;
}
?>
</html>

Es passiert wiederum nichts beim Klick auf "submit"...

HILFE!
 
Hi,

dumme Frage, aber die Dateien haben schon die Endung *.php ?

Versuch es mal damit:

<?php
phpinfo();
?>

Dann dürfte es anzeigen ob dein Server PHP unterstützt.

MrNugget
 
Klaro, PHP funktioniert.

Habe das Script mitlerweile folgendermassen modifiziert. DAS PROBLEM IST jetzt nur, dass er zwar die eingegebenen Werte mit echo ausgibt, aber in die Datenbank schreibt er nur eine leer Zeile...

Kann mir jemand helfen?

Code:
<?
$db_host   =       "localhost";
$db_user   =       "****";
$db_pass   =      "****";
$datab  =          "****";

/* Verbindung zur Datenbank aufbauen */
$db = @mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
@mysql_select_db($datab,$db) or die(mysql_error());
?>

Bitte füllen Sie den nachstehenden Fragebogen nach bestem Wissen und Gewissen so vollständig wie nur möglich aus.<br><br>

<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">
Lieferanten ID:
<input type="text" name="id">
<br>
<br>
Lieferanten Name: 
<input type="text" name="name">
<br>
<br>
<input type="submit" name="submit" value ="Weiter">
<input type="reset" value="Reset">
</form>
						
<?
if($_POST['submit'] == "Weiter") {
$sql1="INSERT INTO vendors (V_ID,V_Name) VALUES ('$_POST['id']','$_POST['name']');";
@mysql_query($sql1);
echo $_POST['id'];
echo $_POST['name'];
echo " FERTIG";
}
?>
 
GELÖST

Hat sich erledigt

Code:
$a=$_POST['id'];
$b=$_POST['name'] ;
$sql1="INSERT INTO vendors (V_ID,V_Name) VALUES ('$a','$b');";
mysql_query($sql1);

Ich muss $_POST['id'] bzw $_POST['name'] zuvor in eine extra Variable schreiben.
Man kann das scheinbar nicht direkt im Insert verwenden...

Danke an alle
 
Zurück