php Variable übergeben

Black-Smurf

Lt. Junior Grade
Registriert
Aug. 2004
Beiträge
394
Also hab folgende Frage.

Ich hab mir eine Mitgleiderliste gemacht, in der mit einer Schleife alle Datensätze zu jedem Mitlglied ausgelesen werden.

Nun möchte ich ,dass man auf den Namen klicken kann und dadurch z.b. die Datei details.php aufgerufen wird, in der weitere Infos stehen.

Meine Frage nun: Kann man Variablen, wie z.B. Vor- und Nachname mit übergeben, so dass ich nur eine detail.php brauch und nicht für jedes Mitglied eine eigene?

War der Meinung das geht mit post oder war das nur bei Formularen?

Danke schon mal.
 
Einfach nen Link: "details.php?vorname=Meister&nachname=Mustermann"

und dann kommste per $_POST["vorname"] bzw. $_POST["nachname"] an die dort übergebenen Werte. Dieser Teil ist dann genauso, wie bei Formularen!
 
Klasse danke.

Das werd ich wenn ich die details.php fertig habe testen.

Sonst meld ich mich wieder :D
 
Wenn die Variablen in der URL stehen so wie Meolus es geschrieben hat, dann kannst du per $_GET['vorname'] darauf zugreifen.
Um eine solche URL zu erzeugen, solltest du aber auf jeden Fall ein Formular mit method="get" nehmen. Du kannst aber auch POST nehmen und dann halt mit $_POST['vorname'] darauf zugreifen.

Mfg
KoЯn
 
Zuletzt bearbeitet:
Hm soweit so gut.

mit Get kann man super draufzugreifen nur noch ein Prob:

Code:
$nname = $_GET["nachname"];
$fahrtenname = mysql_query('SELECT fname FROM asgard_mitglieder WHERE nname = "nname"; ');

er löst das WHERE nname = "nname" nur mit resource id #6 auf.

Also er gibt nicht wie gedacht den fahrtenname aus.

Weiß einer wieso?
 
Müsste es nicht so heißen?
PHP:
 $nname = $_GET["nachname"];
$fahrtenname = mysql_query('SELECT fname FROM asgard_mitglieder WHERE nname = "'.$nname.'"; ');
 
meiner meinung nach gehts auch so:
PHP:
$nname = $_GET["nachname"];
$fahrtenname = mysql_query('SELECT fname FROM asgard_mitglieder WHERE nname = $nname; ');
 
Muuhmann schrieb:
meiner meinung nach gehts auch so:
PHP:
$nname = $_GET["nachname"];
$fahrtenname = mysql_query('SELECT fname FROM asgard_mitglieder WHERE nname = $nname; ');
Ne das geht nun widerrum nicht. Da ich das jetzt schwer in Worten erklären kann mache ich das einfach mit einem Bsp:
PHP:
$var = "World";

## Mit " (Anführungszeichen mit 2 Striche) ##
echo "Hello $var"; # Ausgabe: Hello World

## Mit ' (Anführungszeichen mit 1 Strich) ##
echo 'Hello $var'; # Ausgabe: Hello $var

Kurz gesagt, du müsstest zweistrichige (was für ein Wort) Anführungszeichen benutzen.
 
Hallo,

wie schon angesprochen wurde, gibt es einen Unterschied zwischen den verschiedenen Hochkommas.
Bei der Verwendung von einfachen Hochkommas wird nicht der Inhalt der Variablen, sondern der Variablenname ausgegeben, während bei der Verwendung von Anführungszeichen deren Inhalt ausgegeben wird.
Optimalerweise sollte dies dann so aussehen:
PHP:
$nname = $_GET["nachname"];

$fahrtenname = mysql_query("SELECT fname FROM asgard_mitglieder WHERE nname = '$nname';");

// oder

$nname = $_GET["nachname"];

$fahrtenname = mysql_query("SELECT fname FROM asgard_mitglieder WHERE nname = '".$nname."';");
Desweiteren solltest du noch je nach magic_quotes-Status die GET-Variable mit addslashes() maskieren.
Sonst kann ein Angreifer die Abfrage leicht manipulieren.

MfG mh1001
 
Zuletzt bearbeitet:
Sorry, dass ich mich jetzt erst melde. Hab da nicht immer so viel Zeit :-(

Also ich habe nun folgendes genommen:

PHP:
$nname = $_GET["nachname"];

$fahrtenname = mysql_query("SELECT fname FROM asgard_mitglieder WHERE nname = '".$nname."';");

Dann sollte er ja ".$nname."' mit dem Nachnamen ersetzen und mir das Ergebnis aus der DB anzeigen oder?

Es kommt aber wieder nur Resource id #6 herraus.
 
Gib doch mal nen Beispiel aus deiner DB-Tabelle, sowie die Struktur an, damit man dass mal nachvollziehen kann.



Beispiel:

DB: db_user

PHP:
id              1                  2
vorname         Heinz              Horst
nachname        Klaus              Kuck
adresse         Claasen 1          Waldweg 3

usw.


uebersicht.php

PHP:
<?php
$query="SELECT id, vorname, nachname FROM db_user ORDER BY nachname, vorname;";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: ".mysql_error());

while ($zeile = mysql_fetch_array($result)) {
  $id = $zeile["id"];
  $vorname = $zeile["vorname"];
  $nachname = $zeile["nachname"];

  echo "<a href=\"detail.php?id=".$id."\">".$nachname.", ".$vorname."</a><br><br>";
}

?>


detail.php

PHP:
<?php
$id = $_GET['id'];

$query="SELECT vorname, nachname, adresse FROM db_user WHERE id = '".$id."';";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: ".mysql_error());

$zeile = mysql_fetch_array($result)

$vorname = $zeile["vorname"];
$nachname = $zeile["nachname"];
$adresse = $zeile["adresse"];

echo "
User-ID: ".$id."<br>
<br>
Vorname: ".$vorname ."<br>
Nachname: ".$nachname ."<br>
Adresse: ".$adresse;

}

?>

So würde ich das lösen...
 
Zuletzt bearbeitet:
PHP:
<?php
$id = $_GET['id'];

$query="SELECT vorname, nachname, adresse FROM db_user WHERE id = '".$id."';";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen: ".mysql_error());

$vorname = mysql_result($result,0,"vorname");
$nachname = mysql_result($result,0,"nachname");
$adresse = mysql_result($result,0,"adresse");

echo "
User-ID: ".$id."<br>
<br>
Vorname: ".$vorname ."<br>
Nachname: ".$nachname ."<br>
Adresse: ".$adresse;

?>
Hier mal eine Bereinigte version von mein vorgänger ...
 
ok also die eine Tabelle sieht so aus


PHP:
m_id   nname   vname   anschrift   plz   telefon   geb   eintritt   handy   fname   namebeschreibung   email   uin   sippe   homepage

Und dann natürlich Daten drin.




Die Übersicht.php ist bei mir soweit ok. Das geht mit der Übergabe.

Der relevante Teil der Detail.php sieht im mom noch so aus.

PHP:
<?php
include ("dbconnect.php");

$result = mysql_query('select * from asgard_mitglieder NATURAL JOIN asgard_ort group by m_id');
if (!$result) {
   die('Could not query:' . mysql_error());
}
$num_rows = mysql_num_rows($result);

$vname = $_GET["vorname"];
$nname = $_GET["nachname"];
$fahrtenname = mysql_query("SELECT fname FROM asgard_mitglieder WHERE nname = '".$nname."';");
?>

<table cellpadding="5" cellpadding="0">
<tr>
	<td><?php echo "$fahrtenname"?></td>
</tr>
</table>
 
Zurück
Oben