13. april 2005 - 13:16Der er
46 kommentarer og 1 løsning
problemer med at overføre variabel
Jeg kan ikke overføre variabel imellem 2 php sider. Variablen er erklæret således: $delete = $_POST['delete'];. Det er så meningen at når man trykker på "YES" så bliver man ledt over på en anden side men DESVÆRRE ikke med indholdet af variablen.
Her er side 1:
<?php
$delete = $_POST['delete']; echo "<font size=5px>"; echo "Are you sure you want to delete pc(s) with serial nr:"."<br>" ; echo "<font color=red>"; echo "<font size=10px"."<br>"."<br>"; ?> <div id="deleteconfirm"> <?php
Du giver os ikke meget at arbejde med. Har du prøvet at debugge det den mindste smule selv? For eksempel skrive var_dump($_POST) for at se, om der overhovedet blive overført noget til deleteconfirmyes.php. Vi andre kan jo ikke se dine filer, så vi kan kun gætte.
Nu bliver den overført. Genialt tak!!! Men nu får jeg bare udskrevet array på skærmen. Jeg har prøvet at lave en løkke som skal udskrive arrayet men uden held.
OK - den har jeg misforstået. Hvis $delete allerede er et array inden den lægges i input, skal man lige bruge serialize for at lave en byte-stream version af værdierne inden den lægges i value feltet.
Nej, det har jeg aldrig skrevet. Jeg forstår ikke hvorfor du insisterer på at bruge var_dump, unserialize og $_POST i samme instruktion.
Forklaringen er:
Man har et array, som hedder $delete, med et antal værdier i. Sådan et array kan du ikke overføre intakt via et input text field. Derfor konverterer man arrayet delete til en ren strengvariabel ved at bruge:
serialize($delete);
Nu er $delete ikke et array, men en "underlig" tekststreng. Herefter kan kan lægge værdien i et input field:
Når man har submittet siden, henter man værdien af variablen sådan:
$delete = $_post['delete'];
Nu er $delete stadig en "underlig" og ubrugelig tekststreng. For at konvertere den tilbage til det oprindelige array bruger man så: $delete = unserialize($delete);
stokke, jeg kommunikerer ikke lige umiddelbart med dig - men med spørgeren michael_f. Og min sætning er skam ganske rigtig og gyldig og alt mulig andet. Hvis du ikke kan overskue det uden at bruge en masse variabler, så er det op til dig - jeg giver blot spørgeren nogle tips til, hvordan han kan få løst sit problem :)
Og nej, du har aldrig skrevet ovenstående udtryk - det har jeg - til spørgeren, og ikke til dig.
Barklund: jo variablen er erklæret som serialize($delete) før den sendes for derefter at blive unseriales($delete). Kommandoes serialize gør tilsyneladende ingen forskel. Jeg prøver lige det du har skrevet med foreach.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.