URL mit PHP verändern?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Indem du den Benutzer einfach auf die Seite mit den entsprechenden Parametern weiterleitest oder ihn auf einen Link klicken lässt oder sonstiges?

Das sieht dann so aus example.com/index.php?name=meinname&text=Hallo

Dann kannst du mit PHP die Parameter "name" und "text" verwenden.

25

Vielen Dank. Das meine ich nicht. Ich meine wirklich nur mit PHP. Evtl noch mit JS. (Wobei ich mich mit JS sehr schlecht auskenne)

Was soll überhaupt passieren?

nachdem eine Variable geprüft wurde, wird eine weitere Seite incl.. Dabei soll die URL verändert werden.

0
1
@MoechteAWissen

Du kannst den Benutzer nicht weiterleiten ohne ihn weiterzuleiten, das funktioniert halt nicht. Und du kannst auch nicht einfach so die Adresszeile des Benutzers ändern. Das hat halt auch wenig Sinn, wenn man den Benutzer nicht sowieso auf die neue Seite schicken will.

Eine andere Möglichkeit als den Benutzer weiterzuleiten gibt es nun mal nicht. Das wäre dan Hexerei und die kommt erst mit PHP 8.

0
1
@MoechteAWissen

Gibt es nicht. Brauchst du nicht weitersuchen.

Du willst den Benutzer doch nach der Prüfung sowieso weiterleiten. Dann mach das doch einfach? Was spricht dagegen?

0
25
@verreisterNutzer

oha... wie erkläre ich das nun.... ?

ich bastele an meinem 1. Script, bei dem Rechte vergeben werden. MASTER-Rechte und ANWENDER-Rechte.

habe folgendermaßen begonnen.

1)Login
2. Nachdem das Pass & Username geprüft wurden, erfolgt die Prüfung der Rechte. je nachdem welche Rechte vergeben sind, wird eine andere Seite incl.

// WENN LOGIN
if (login_check($mysqli) == true) 
{
		
	

	 $sql="SELECT * from members";
   $query=mysqli_query($mysqli, $sql);
     if(mysqli_num_rows($query)>0)
     {
       $i=1;
       while($row=mysqli_fetch_object($query))
        {
				// = LOGIN-name
				
				if($row->username == $_SESSION['username'])
				  {
					// Wenn kein >> idKey<< VORHANDEN IST , wir eine eingetragen
					 if($row->idKey == '')
						{
							$idKey = $row->salt;
												
							$sql_update_idKey="UPDATE members SET idKey='$idKey' WHERE id='$row->id'";
							$query_update_idKey=mysqli_query($mysqli, $sql_update_idKey);			
						}					
					
					
					// PRÜFE die Rechte !!! (Wichtig)
					 if($row->rechte =='MASTER')
					 { 						 						 									
						 include 'site/master_index_code.php';							
					 }else
						{
												
						sleep(3);	
						 include 'site/benuter_index_code.php';
						}
				 }
	
		  }
				
   }
	 
  
				
}else{
	 // Login 
	 include 'site/login_code.php'; 
	 } 
0
25
@MoechteAWissen

PS: wehe du lachst, habe Stunden gebraucht bis die Nummer überhaupt funktioniert hat ;)

0
1
@MoechteAWissen

Erstmal, lass dir sagen:

if (login_check($mysqli)) { // spart dir ein paar Zeichen und erfüllt den gleichen Zweck.

// CODE

}

Nun gibt es zwei Möglichkeiten: Du machst es so, wie du es schon hast. Indem Fall inkludierst du einfach die Seite, für die der Nutzer die Rechte hat. Er braucht dazu keine neue URL.

Du kannst aber auch STATT des inkludierens sagen, dass der Benutzer auf diese Seiten weitergeleitet werden soll.

// WENN LOGIN
if (login_check($mysqli)) 
{	
	

	 $sql="SELECT * from members";
   $query=mysqli_query($mysqli, $sql);
     if(mysqli_num_rows($query)>0)
     {
       $i=1;
       while($row=mysqli_fetch_object($query))
        {
				// = LOGIN-name
				
				if($row->username == $_SESSION['username'])
				  {
					// Wenn kein >> idKey<< VORHANDEN IST , wir eine eingetragen
					 if($row->idKey == '')
						{
							$idKey = $row->salt;
												
							$sql_update_idKey="UPDATE members SET idKey='$idKey' WHERE id='$row->id'https://example.com/master.php);eqli_query($mysqli, $sql_update_idKey);			https://example.com/master.php);eter.php);e Rechte !!! (Wichtig)
					 if($row->rechte =='MASTER')
					 { 	
  				https://example.com/master.phpple.com/master.php'); 
							exit();					 									
      						 
									 //https://example.com/user.php);e.php';	https://example.com/user.php);.php);	{
      						headerhttps://example.com/user.php);.php);.php);
									exit();					 					
      						/* 
									sleep(3);	
      						include 'site/benuter_index_code.php';
									*/
      						}
      				 }
      	
      		  }
      				
         }
      	 
        
      				
      }else{
      	 // Login 
      	 include 'site/login_code.php'; 
      	 } 


Das sind eben die beiden Möglichkeiten und was anderes benötigt man auch in der Praxis nicht wirklich. Entweder auf eine neue Seite weiterleiten auf direkten Wege oder die neue Seite direkt inkludieren.

0
25
@verreisterNutzer

Tadaaaa und die Nummer läuft wirklich :)))) !

Vielen Dank.

Eine Frage habe ich noch .

Würdest du diese Abfrage:

if($row->rechte =='MASTER'){}

oder so

if($row->rechte ==='MASTER') {}

scheiben ?

0
1
@MoechteAWissen

Selbstverständlich läuft das, das erkläre ich doch die ganze Zeit schon.

Zu deiner Frage: Das kommt darauf an. === ist Typesicher, es wird also auch geprüft ob der Typ der Variable korrekt ist. (Z.B ist false nicht dasselbe wie "false", das erste ist ein boolean, dass andere ein String).

Es reicht in deinem Fall völlig aus wenn du den Inhalt mit == vergleichst.

0
25
@verreisterNutzer

Super. JEtzt sollte ich wieder weiter kommen. Melde mich wieder bei meinem nächsten Problem ;-)

machs gut und nochmals danke :)

0
<?php
$suchanfrage = "test";
echo "<a href='https://www.google.de/search?q=" . $suchanfrage . "'>Google Suche</a>";
?>

Wenn man jetzt der php Variablen $suchanfrage einen anderen Wert zuweist, ändert sich auch die an den Browser gesendete URL.

Natürlich kann man die URL sich so zusammenbauen wie man sie benötigt. Die Werte müssen aber vor dem ausliefern an den Browser feststehen.

Ok, ich weiß nicht was da los ist Gutefrage.net zerschießt den Code ständig.

Das ist es was du brauchst für eine direkte Weiterleitung.

			 	header('Locatihttps://example.com/master.php);hp); 
							exit();					 				

Basis-URL erstellen?

Hallo Zusammen,

ich habe mich heute zum ersten mal an eine Anmeldeseite gewagt.

Für die Quellcode-bearbeitung verwende ich Brackets.

In meiner Php-Datei habe ich ein Formular erstellt und die ersten Php-abfragen geschrieben. Die Verbindung zu der Datenbank habe ich ebenfalls aufgebaut und nun fordert mich Brackets auf, aufgrund einer Server-Verbindung(scheint also alles zu funktionieren) eine Basis-URL zu erstellen. Unter Basis-Url verstehe ich z.B. "https://muster.php", allerdings habe ich bereits eine ganze reihe von diesen Url ausprobiert ohne erfolg.

Nun die frage:

-ist eine Server-aufbau über den localhost überhaupt möglich oder brauche ich dafür eine bezahlte Domain?

-wenn die erste Frage verneint werden kann oder keinen Sinn macht, was wäre eine Legitime Basis-url?

...zur Frage

PHP ohne Web Server anschauen?

Hey Leute, Ich wollte gerade anfangen in meine Seite ein wenig PHP mit einzubringen! Aber leider kann man das ja vergessen, solange die Website nicht auf einem Server ausgeführt wird. Gibt es einen "Trick" mit dem ich PHP in den Code mit einbringen kann, ohne das die Dateien auf einen Server laufen? So das Ich natürlich dann auch das programmierte auf der Seite sehen kann?

Ich meine nicht sowas wie XAMPP, sondern einfach etwas womit ich auch Offline PHP programmieren kann?

Vielen Dank im Voraus! Lg! :)

...zur Frage

Wieso wird meine Session-ID nicht an die URL angehängt (php)?

Hallo,

ich versuche (nur zum testen) meine session-id an die URL zu hängen, was aber nicht funktioniert. Hab dafür bei Seite1.php eine Session-Variable und diese möchte ich bei Seite2.php ausgeben, was auch funktioniert, nur wird die Session-ID nicht an die URL rangehängt. Hab auch schon in meiner php.ini session.use_only_cookies und session.use_cookies deaktiviert, dafür nur session.use_trans_sid aktiviert (Was ja eigentlich dafür verantwortlich ist, dass die ID an die URL übergeben werden soll)

Wieso funktioniert das nicht?

Danke

...zur Frage

PHP Formular nach Klicken des Submit Buttons nicht löschen

Hallo

Ich programmiere mit HTML und PHP einen Zeitrechner, wo man die Zahlen in ein Formular schreibt, und möchte gerne, dass nach dem Submit-Button keine Daten aus dem Formular gelöscht werden.

Beim Suchen bin ich darauf gestossen:

<tr>
    <td nowrap>1. Zeit</td>
    <td align="right">
        <input type="text" name="d1" style="text-align:right;" value="<?php echo $_POST['d1']; ?>">
    </td>
    <td align="right">
        <input type="text" name="h1" style="text-align:right;" value="<?php echo $_POST['h1']; ?>">
    </td>
    <td align="right">
        <input type="text" name="m1" style="text-align:right;" value="<?php echo $_POST['m1']; ?>">
    </td>           
    <td align="right">
        <input type="text" name="s1" style="text-align:right;" value="<?php echo $_POST['s1']; ?>">
    </td>
</tr>

Das Problem dabei ist, das dabei immer eine Fehlermeldung kommt (Bild im Anhang). Was mache ich, damit die weggeht?

Vielen Dank für eure Antworten!

Phippe

...zur Frage

Wie kann man ein PHP script abbrechen?

Ich bekomme viele Spam-Nachrichten über mein Website-PHP-Kontaktformular. Dabei wird von einem bestimmten Spambot immer das "name"-Feld mit der gleichen, auffallenden Buchstaben-Kombination begonnen (z.B. "bfd......."). Was muss ich in meine PHP-Datei schreiben, damit das Formular nicht abgesendet wird bzw. abbricht, sobald diese bestimmte "bfd"-Kombination in einem Formular auftaucht? Funktioniert das mit der "preg_match" Funktion? Vielen Dank!

...zur Frage

Was möchtest Du wissen?