Fehlersuche

  • Themenstarter Themenstarter starfoxfs
  • Beginndatum Beginndatum
S

starfoxfs

Hallo zusammen,

hab ein kleines Problem mit meinem Script was ich geschrieben habe und bin am verzweifeln.

Ich möchte per Formular einfach die Userid eines Users in die Mysql DB eintragen, funktioniert aber nicht, es wird immer der Wert 1 eingetragen. Hier mal das Script:

PHP:
/*
VERLEIHEN ANFANG
*/
elseif($action == "verleihen_add")
{
?>
<?
if($submit == "true")
{
$userid = $_REQUEST["userid"];
$eintrag = "INSERT INTO orden_user (userid, orden, sektion) VALUES ('$userid', '$orden', '$sektion')";

mysql_query($eintrag) or die("Error: " . mysql_error());
echo "Der Orden <strong>$orden</strong> wurde an $userid verliehen in der $sektion";
}
?>
Verleihung des Ordens
<form action="?include=admin&isset=orden&action=verleihen_add&submit=true" method="post" name="verleihen" id="verleihen">
  <table width="95%" border="0" cellspacing="0" cellpadding="0">
	<tr>
      <td width="20%">Name:</td>
      <td width="75%"><input type="text" name="userid" id="id_userid"></td>
    </tr>
	<tr>
      <td>Orden wählen:</td>
      <td>
	  <select name="orden" id="orden">
	 <? $abfrage1 = "SELECT * FROM orden";
$ergebnis1 = mysql_query($abfrage1);
while ($orden = mysql_fetch_array($ergebnis1))
{
?>
          <option value="<? echo $orden["id"]; ?>"><? echo $orden["name"]; ?></option>
		  
<?
}
?>        
        </select></td>
    </tr>	
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
        <tr>
      <td colspan="2" align="center"><input type="submit" name="Submit" value="Verleihen"></td>
      </tr>	  
  </table>
</form>
<?
}
/* Verleihen Ende */

Egal was ich in das Eingabefeld "userid" reinschreibe es wird immer 1 gespeichert alles andere funktioniert.

In der Mysql DB sieht es so aus:

id int(11) Nein auto_increment
userid int(11) UNSIGNED Nein 0
orden int(11) UNSIGNED Nein 0
sektion varchar(255) Nein
 
Zuletzt bearbeitet von einem Moderator:
benenne im input tag die id um (zb. id="id_userid")
in der abfrage solltest du globalvariablen benutzen:

Code:
$_REQUEST["userid"]
statt
Code:
$userid
** daran liegt es sicher nicht.....
... aber tausche mal die zeile
Code:
if($submit == "true")
mit
Code:
if (isset ($_REQUEST["Submit"]))

mfg
sven
 
Ja so gehts und ist auch gut, aber man muss nicht unbedingt $_REQUEST["Submit"] nehmen.
Wenn man dem Input-tag (type=submint) einen namen gibt (name=blabla), dann kann man auch if (isset ($blabla)) machen.
Diese Methode macht Sinn, wenn man mehrere Submint-buttons hat z.B. Save und Public und wissen will welchen der User angeklickt hat.

Das Problem sollte ja gelößt sein, also bitte den Status auf erledigt stellen.
 
Hat nichts gebracht, bekomm immer noch den Wert 1 für die Userid

Hab mal oben den Code umgeschrieben so wie ich es jetzt geändert habe.

Edit: Das mit dem isset Submit ... hab ich auch ausprobiert hat aber anscheinend auch nix damit zu tun gehabt.
 
Zuletzt bearbeitet von einem Moderator:
Zurück