Textbox

Status
Niet open voor verdere reacties.

w00tare

Gebruiker
Lid geworden
10 jul 2009
Berichten
216
Hallo,

Ik heb een textbox waar ik een ID invoer, en ik wil de tekst gebruiken voor het volgende:
Code:
<form name="changeID" action="admin.php?act=id&nid="|HIERMOETDETEKSTVANTEXTBOX|  method="post">
<input type="text" name="idn" value="<?echo $OID;?>" size="50"><br>
<input type="submit" value="Change ID">
</form>

Bedankt!
 
Waarom wil je dat? Na het versturen van het formulier kan je de tekst uit de textbox opvragen met
PHP:
$_POST['idn']
Daarom zie ik het nut niet in van de id ook als get-variabele te hebben. Je kan natuurlijk wel met Javascript de form "action" aanpassen als er iets is ingevoerd in de textbox, maar dan werkt je script niet meer als Javascript uit staat/niet ondersteund wordt.
 
Zorgen dat je hem in een $_GET-variabele hebt staan op deze pagina.

Lijkt op iets van een aanpaspagina.

Dus eerst een lijst met alle waardes waarbij je een URL formuleert aan de hand van de database waarde.
PHP:
echo '<a href="edit.php?id='. $row['id'] .'">Aanpassen</a>';

Vervolgens kom je op de aanpaspagina waarbij je de gegevens ophaalt aan de hand van een query met
[sql]
WHERE id = mysql_real_escape_string($_GET['id'])
[/sql]

Simpele opzet:
lijst.php
PHP:
<?php
include('dbconfig.php');

$query = "SELECT id, name FROM tabel";
$result = mysql_query($query);
if(!$result) {
  echo 'Er is een fout opgetreden. MySQL zegt: '. mysql_error();
} else {
  while($row = mysql_fetch_assoc($result)) {
    echo $row['name'] .' <a href="edit.php?id='. $row['id'] .'">aanpassen</a><br />';
  }
}

edit.php
PHP:
<?php
include('dbconfig.php');
//Erg basic controle
if(isset($_GET['id'])) {
	// Controleren of formulier is verzonden
	if($_SERVER['request_method'] == 'POST') {
		$query = "UPDATE tabel SET name = '". mysql_real_escape_string($_POST['name']) ."' WHERE id =  ". mysql_real_escape_string($_GET['id']);
		$result = mysql_query($query);
		if(!$result) {
			echo 'Er is een fout opgetreden. MySQL zegt: '. mysql_error();
		} else {
			echo 'Record met ID '. $_GET['id'] .' succesvol aangepast.';
		}
	} else {
		$query = "SELECT id, name FROM tabel WHERE id = ". mysql_real_escape_string($_GET['id']);
		$result = mysql_query($query);
		if(!$result) {
			echo 'Er is een fout opgetreden. MySQL zegt: '. mysql_error();
		} else {
			$row = mysql_fetch_assoc($result);
			echo '<form action='' method="POST">';
			// etc
			echo '</form>';
		}
	}
} else {
	echo 'Geen ID gevonden';
}
 
Ik heb liever dat ik zoals mijn eerste post gebruik, kan dit niet gewoon?
Dat als ik een button klik hij iets in de database veranderd?
 
HTML:
<form action="wherever.php" method="GET">
<input type="text" name="nid" value="" />

Probeer het eens zo?
 
Je doel is om de userinput in de URL te krijgen. Door je formulier op GET mode te zetten, worden alle form velden in de URL gezet... zou dus precies moeten doen wat jij wilt.
 
Ik snap inderdaad wat je wilt, maar waarom wil je alles met een get in je action url zetten?

je kunt het veel makkelijker zo doen:

PHP:
<form action="<?php echo $PHP_SELF; ?>" method="POST">
<input type="hidden" name="nid" value="<?php echo $_POST['nid']; ?>" />

enz.
 
<?php echo $PHP_SELF; ?>

->

Dat doet al een jaar of 5 helemaal niks meer hoor...
 
<?php echo $PHP_SELF; ?>

->

Dat doet al een jaar of 5 helemaal niks meer hoor...

Dan heb ik denk ik een oude server, hhaha, want ik gebruik het tot op de dag van vandaag:) thanx iig
 
Nee, het lijkt alsof het werkt. Het levert namelijk niets op, nada, noppes. Dan wordt het formulier gepost naar dezelfde pagina en bereik je effectief hetzelfde.
 
Je doel is om de userinput in de URL te krijgen. Door je formulier op GET mode te zetten, worden alle form velden in de URL gezet... zou dus precies moeten doen wat jij wilt.

Dat is niet mijn doel.
Ik heb een aparte .php.
Via daar voer ik dit uit.
Dus ik wil:

Code:
settings.php?act=id&nid=

Dat die DAT achter de url plakt met de tekst uit de tekstbox.
 
Ondertussen heb ik dit zelf gefixt. Toch bedankt voor de reacties!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan